Skip to content

Commit

Permalink
Handle swap at the action level and use 10G swap for each LLVM build
Browse files Browse the repository at this point in the history
  • Loading branch information
jbigot committed Jul 3, 2024
1 parent d51d69a commit e8bf13b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 25 deletions.
13 changes: 13 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ inputs:
tags:
default: ""
description: "Additional tags"
swap:
default: "0"
description: "Additional swap to allocate"
test:
default: false
description: "Whether to build the test target before publishing"
Expand Down Expand Up @@ -67,6 +70,12 @@ runs:
context: "{{defaultContext}}:${{ inputs.path }}"
load: true
target: test
- if: "${{ inputs.swap != '0' }}"
run: |
sudo fallocate -l "${{ inputs.swap }}" /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
- if: "${{ inputs.cache == 'true' }}"
uses: docker/build-push-action@v5
with:
Expand All @@ -91,3 +100,7 @@ runs:
${{ inputs.tags }}
context: "{{defaultContext}}:${{ inputs.path }}"
push: true
- name: "Remove swap file"
run: |
sudo swapoff /swapfile || true
sudo rm -f /swapfile || true
2 changes: 1 addition & 1 deletion .github/workflows/debuntu_docker_images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
echo "distro=${BASE%/*}" >> "${GITHUB_OUTPUT}"
echo "distro_version=${BASE##*/}" >> "${GITHUB_OUTPUT}"
- name: "Build and push"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: debuntu/${{ matrix.variant }}
Expand Down
40 changes: 16 additions & 24 deletions .github/workflows/spack_docker_images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Build and push 1a-base"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/1a-base
image-name: base
cache: ${{ github.event_name != 'schedule' }}
- name: "Build and push 1b-spackbase"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/1b-spackbase
Expand All @@ -32,35 +32,26 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Build and push 2a-precomp"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2a-precomp
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-2a
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Create swap file"
run: |
sudo fallocate -l 12G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
- name: "Build and push 2b-compiler"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2b-compiler
swap: 10G
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-2b
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Remove swap file"
run: |
sudo swapoff /swapfile
sudo rm /swapfile
- name: "Build and push 2c-squash"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2c-squash
Expand All @@ -78,7 +69,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Build and push 3a-precomp"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3a-precomp
Expand All @@ -87,16 +78,17 @@ jobs:
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 3b-compiler"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3b-compiler
swap: 10G
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-3b
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 3c-squash"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3c-squash
Expand All @@ -105,7 +97,7 @@ jobs:
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 4a-baselibs"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/4a-baselibs
Expand All @@ -114,7 +106,7 @@ jobs:
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 4b-squash"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/4b-squash
Expand All @@ -133,7 +125,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Build and push 5a-mpi"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/5a-mpi
Expand All @@ -143,7 +135,7 @@ jobs:
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
- name: "Build and push spack/5b-squash"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/5b-squash
Expand All @@ -153,7 +145,7 @@ jobs:
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
- name: "Build and push 6-optlibs"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/6-optlibs
Expand Down Expand Up @@ -181,7 +173,7 @@ jobs:
echo "tags=ghcr.io/pdidev/spack/${{ matrix.version }}/${{ matrix.compiler }}/${{ matrix.mpi }}/${{ matrix.level }}:${{github.ref_name}}" >> "${GITHUB_OUTPUT}"
fi
- name: "Build and push"
uses: pdidev/test_env/.github/actions/build@main
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/7-finalize
Expand Down

0 comments on commit e8bf13b

Please sign in to comment.