Skip to content

fix: do not install npm second time for local node image (#248) #1

fix: do not install npm second time for local node image (#248)

fix: do not install npm second time for local node image (#248) #1

name: Build and release Stage
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
changed_files:
runs-on: [matterlabs-default-infra-runners]
name: Test changed-files
outputs:
core: ${{ steps.changed-files-yaml.outputs.core_any_changed }}
prover: ${{ steps.changed-files-yaml.outputs.prover_any_changed }}
all: ${{ steps.changed-files-yaml.outputs.all_any_changed }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
submodules: "recursive"
- name: Get all test, doc and src files that have changed
id: changed-files-yaml
uses: tj-actions/changed-files@v37
with:
files_yaml: |
# If you want to exclude some files, please adjust here.
prover:
- prover/**
core:
- core/**
all:
- '!core/**'
- '!prover/**'
setup:
name: Setup
runs-on: [self-hosted, k8s, stage]
outputs:
image_tag_suffix: ${{ steps.generate-tag-suffix.outputs.image_tag_suffix }}
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
submodules: "recursive"
- name: Generate image tag suffix
id: generate-tag-suffix
run: |
sha=$(git rev-parse --short HEAD)
ts=$(date +%s%N | cut -b1-13)
echo "image_tag_suffix=${sha}-${ts}" >> $GITHUB_OUTPUT
build-push-core-images:
name: Build and push images
needs: [setup, changed_files]
uses: ./.github/workflows/build-core-template.yml
if: needs.changed_files.outputs.core == 'true' || needs.changed_files.outputs.all == 'true'
with:
image_tag: ${{ needs.setup.outputs.image_tag }}
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}
secrets:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
build-push-prover-images:
name: Build and push images
needs: [setup, changed_files]
uses: ./.github/workflows/build-prover-template.yml
if: needs.changed_files.outputs.prover == 'true' || needs.changed_files.outputs.all == 'true'
with:
image_tag: ${{ needs.setup.outputs.image_tag }}
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}
ERA_BELLMAN_CUDA_RELEASE: ${{ vars.ERA_BELLMAN_CUDA_RELEASE }}
secrets:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
build-gar-prover:
name: Build GAR prover
needs: [setup, build-push-core-images, build-push-prover-images]
uses: ./.github/workflows/build-gar-reusable.yml
if: needs.changed_files.outputs.prover == 'true' || needs.changed_files.outputs.all == 'true'
with:
setup_keys_id: 4989f12
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}
push_asia: false
build-gar-prover-fri-gpu:
name: Build GAR prover FRI GPU
needs: [setup, build-push-prover-images]
uses: ./.github/workflows/build-prover-fri-gpu-gar.yml
if: needs.changed_files.outputs.prover == 'true' || needs.changed_files.outputs.all == 'true'
with:
setup_keys_id: 2d33a27-gpu
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}