Skip to content

update action workflow #297

update action workflow

update action workflow #297

Workflow file for this run

name: scala-CI
on:
push:
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
cache-nix:
name: nix依存関係のキャッシュ
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup nix
uses: cachix/install-nix-action@v25
- name: setup cachix
uses: cachix/cachix-action@v14
with:
name: b4smt
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: make all
run: make
- name: make develop environment
run: nix develop --profile develop-profile -c true
- name: upload artifacts to cache
run: |
nix derivation show -r ./processor | jq '.[].outputs[].path' -r | while IFS= read -r line; do [ -e "$line" ] && echo "$line"; done | cachix push b4smt
nix derivation show -r ./programs | jq '.[].outputs[].path' -r | while IFS= read -r line; do [ -e "$line" ] && echo "$line"; done | cachix push b4smt
nix derivation show -r ./develop-profile | jq '.[].outputs[].path' -r | while IFS= read -r line; do [ -e "$line" ] && echo "$line"; done | cachix push b4smt
- name: upload processor source as artifact
uses: actions/upload-artifact@v4
with:
name: processor
path: processor
format:
name: ソースコードのフォーマット確認
timeout-minutes: 5
needs: [cache-nix]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup nix
uses: cachix/install-nix-action@v25
- name: setup cachix
uses: cachix/cachix-action@v14
with:
name: b4smt
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: check format
run: make check-format
- name: upload check cache
run: |
nix derivation show -r ./result | jq '.[].outputs[].path' -r | while IFS= read -r line; do [ -e "$line" ] && echo "$line"; done | cachix push b4smt
test-all:
name: B4プロセッサのテスト
timeout-minutes: 60
needs: [cache-nix]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup nix
uses: cachix/install-nix-action@v25
- name: setup cachix
uses: cachix/cachix-action@v14
with:
name: b4smt
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: test all
run: make check-artifacts
- name: upload check cache
run: |
nix derivation show -r ./result | jq '.[].outputs.[].path' -r | while IFS= read -r line; do [ -e "$line" ] && echo "$line"; done | cachix push b4smt