Skip to content

source archive

source archive #4

Workflow file for this run

name: source archive
on:
workflow_dispatch: # manually run
inputs:
env:
CI: true
jobs:
publish:
name: Build and publish source archive
runs-on: [self-hosted, dev-server]
steps:
- name: Load ssh key to fetch private dependencies
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.NETWORK_SSH_KEY }}
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Checkout
uses: actions/checkout@v4
with:
path: origin
- name: Get version
working-directory: origin
run: echo "WORKER_VERSION=$(cargo metadata --no-deps --format-version=1 | jq '.packages[].version' -r)" >> $GITHUB_ENV
- name: Create archive
run: |
BUILD=$(mktemp -d)/worker-rs
mkdir -pv $BUILD
mkdir $BUILD/.cargo
cp -rv origin/{Cargo.toml,Cargo.lock,src,benches} $BUILD
cp origin/.env.testnet $BUILD/.env
cp origin/.vendor-config.toml $BUILD/.cargo/config.toml
cd $BUILD
cargo vendor tmp
mkdir vendor
cp -rv tmp/{contract-client,subsquid-*} vendor
rm -r tmp
cd -
tar --owner=root --group=root -czf worker-${{ env.WORKER_VERSION }}.tar.gz $BUILD
rm -r $BUILD
shell: bash
- name: Publish release
uses: softprops/action-gh-release@v2
with:
files: worker-${{ env.WORKER_VERSION }}.tar.gz