name: vere on: workflow_call: inputs: upload: description: 'upload binaries to gcp' type: boolean default: false required: false pace: description: 'release pace' type: string default: 'edge' required: false secrets: CACHIX_AUTH_TOKEN: required: false GCP_CREDENTIALS: required: false GCS_SERVICE_ACCOUNT_KEY: required: false GCS_PROJECT: required: false workflow_dispatch: inputs: upload: description: 'upload binaries to gcp' type: boolean default: false required: false pace: description: 'release pace' type: choice options: - edge - soon - live env: UPLOAD_BASE: bootstrap.urbit.org/vere VERE_PACE: ${{ inputs.pace }} VERSION_TYPE: ${{ (inputs.pace == 'soon' || inputs.pace == 'live') && 'real' || 'hash' }} jobs: urbit: strategy: fail-fast: false matrix: include: - { os: ubuntu-latest, type: linux } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 # We only want the extra nix config on linux, where it is necessary # for the docker build. We don't want in on Mac, where it isn't but # it breaks the nix install. The two `if` clauses should be mutually # exclusive - uses: cachix/install-nix-action@v16 with: extra_nix_config: | system-features = nixos-test benchmark big-parallel kvm if: ${{ matrix.type == 'linux' }} - uses: cachix/install-nix-action@v16 if: ${{ matrix.os != 'ubuntu-latest' }} - uses: cachix/cachix-action@v10 with: name: ares authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} - if: ${{ matrix.os == 'ubuntu-latest' }} name: run urbit-tests run: | cp -RL tests pkg/arvo/tests vere="$(cat ./vere-version | sed -e 's/\([^ ]*\) \([^ ]*\)/\1\/\2\/vere-\2/g' | tr -d '\n')" url="$(echo https://bootstrap.urbit.org/vere/${vere}-linux-x86_64)" curl -Lo pkg/arvo/urbit.jam "$url" chmod +x pkg/arvo/urbit.jam nix-build -A urbit-tests