on: push: tags: - 'omni-v[0-9]+.[0-9]+.[0-9]+*' workflow_dispatch: name: Update Contracts jobs: update-contracts: runs-on: warp-ubuntu-2404-x64-16x name: Update Contracts permissions: contents: write steps: - name: Setup SSH uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: | ${{ secrets.SSH_BRIDGE_INDEXER }} ${{ secrets.SSH_BOREALIS }} - name: Clone the repository uses: actions/checkout@v3 - name: Install cargo-near run: | curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/cargo-near/releases/latest/download/cargo-near-installer.sh | sh - name: Build NEAR contracts run: | make rust-build-near timeout-minutes: 60 - name: Install Anchor run: | sudo apt-get update sudo apt-get install -y pkg-config libudev-dev cargo install --git https://github.com/coral-xyz/anchor --tag v0.32.1 --locked anchor-cli echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" shell: bash # FOGO is built first: solana-build-ci-fogo renames its outputs to `_fogo`, # leaving the canonical `bridge_token_factory.{so,json}` paths free for the # subsequent Solana build to occupy. - name: Build FOGO contract run: | make solana-build-ci-fogo timeout-minutes: 60 - name: Upload FOGO Anchor Types uses: actions/upload-artifact@v4 with: name: fogo-anchor-types path: solana/target/idl/bridge_token_factory_fogo.json if-no-files-found: error - name: Build Solana contract run: | make solana-build-ci timeout-minutes: 60 - name: Upload Solana Anchor Types uses: actions/upload-artifact@v4 with: name: solana-anchor-types path: solana/target/idl/bridge_token_factory.json if-no-files-found: error - name: Archive built WASM files env: RAW_TAG: ${{ github.ref_name }} run: | SAFE_TAG="${RAW_TAG//./-}" ZIP_NAME="${SAFE_TAG}.zip" mkdir -p artifacts find ./near/target/near -name "*.wasm" -exec cp {} artifacts/ \; cp ./solana/target/verifiable/bridge_token_factory.so artifacts cp ./solana/target/verifiable/bridge_token_factory_fogo.so artifacts zip -j "$ZIP_NAME" artifacts/* shell: bash - name: Create Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }} files: "*.zip"