Skip to content

v0.0.13

v0.0.13 #15

Workflow file for this run

name: Release
on:
release:
types: [released]
jobs:
#####################
# The docker builds #
#####################
# The image shared by all builds, containing pre-built rust deps
docker-build-base:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: sudo apt-get update
# We use buildx and its GitHub Actions caching support `type=gha`. For
# more information, see
# https://github.com/docker/build-push-action/issues/539
- name: Set up docker buildx
uses: docker/setup-buildx-action@v2
- name: Build base Docker image
uses: docker/build-push-action@v3
with:
file: Dockerfile
cache-from: type=gha,scope=cached-stage
cache-to: type=gha,scope=cached-stage,mode=max
outputs: type=cacheonly
target: deps
docker-build:
runs-on: ubuntu-latest
needs: docker-build-base
strategy:
matrix:
include:
- name: console.wasm.gz
target: scratch_console
- name: observatory.wasm.gz
target: scratch_observatory
- name: mission_control.wasm.gz
target: scratch_mission_control
- name: satellite.wasm.gz
target: scratch_satellite
steps:
- uses: actions/checkout@v3
- name: Set up docker buildx
uses: docker/setup-buildx-action@v2
- name: Build ${{ matrix.name }}
uses: docker/build-push-action@v3
with:
file: Dockerfile
cache-from: type=gha,scope=cached-stage
# Exports the artefacts from the final stage
outputs: ./out
target: ${{ matrix.target }}
- run: sha256sum out/${{ matrix.name }}
- run: mv out/${{ matrix.name }} ${{ matrix.name }}
- name: 'Upload ${{ matrix.name }}'
uses: actions/upload-artifact@v3
with:
# name is the name used to display and retrieve the artifact
name: ${{ matrix.name }}
# path is the name used as the file to upload and the name of the
# downloaded file
path: ./${{ matrix.name }}
metadata:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build metadata
run: bash ./docker/metadata
env:
CANISTERS: console,observatory,mission_control,satellite
- name: Upload metadata
uses: actions/upload-artifact@v3
with:
# name is the name used to display and retrieve the artifact
name: metadata.json
# path is the name used as the file to upload and the name of the
# downloaded file
path: ./metadata.json
candid:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- name: console.did
target: console
- name: observatory.did
target: observatory
- name: mission_control.did
target: mission_control
- name: satellite.did
target: satellite
steps:
- uses: actions/checkout@v3
- name: 'Copy ${{ matrix.name }}'
run: bash ./docker/candid
env:
CANISTER: ${{ matrix.target }}
- name: 'Upload ${{ matrix.name }}'
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.name }}
path: ./${{ matrix.name }}
release:
runs-on: ubuntu-latest
needs: ['docker-build', 'metadata', 'candid']
steps:
- uses: actions/checkout@v3
- name: Download console.wasm.gz
uses: actions/download-artifact@v3
with:
name: console.wasm.gz
- name: Download observatory.wasm.gz
uses: actions/download-artifact@v3
with:
name: observatory.wasm.gz
- name: Download mission_control.wasm.gz
uses: actions/download-artifact@v3
with:
name: mission_control.wasm.gz
- name: Download satellite.wasm.gz
uses: actions/download-artifact@v3
with:
name: satellite.wasm.gz
- name: Download console.did
uses: actions/download-artifact@v3
with:
name: console.did
- name: Download observatory.did
uses: actions/download-artifact@v3
with:
name: observatory.did
- name: Download mission_control.did
uses: actions/download-artifact@v3
with:
name: mission_control.did
- name: Download satellite.did
uses: actions/download-artifact@v3
with:
name: satellite.did
- name: Download metadata.json
uses: actions/download-artifact@v3
with:
name: metadata.json
- name: Prepare canisters
run: bash ./docker/prepare
env:
CANISTERS: console,observatory,mission_control,satellite
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
./console*.wasm.gz
./observatory*.wasm.gz
./mission_control*.wasm.gz
./satellite*.wasm.gz
./console*.did
./observatory*.did
./mission_control*.did
./satellite*.did
./metadata.json