|
8 | 8 | jobs:
|
9 | 9 | scan:
|
10 | 10 | concurrency:
|
11 |
| - group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os_version }}-${{ matrix.build }} # to branch/PR + OS + build |
| 11 | + group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.build }} # to branch/PR + OS + build |
12 | 12 | cancel-in-progress: true
|
13 | 13 | runs-on: ubuntu-latest
|
14 | 14 | strategy:
|
15 | 15 | fail-fast: false
|
16 | 16 | matrix:
|
17 |
| - os_version: |
18 |
| - - RL8 |
19 |
| - - RL9 |
20 |
| - build: |
21 |
| - - openstack.openhpc |
22 |
| - - openstack.openhpc-cuda |
23 |
| - exclude: |
24 |
| - - os_version: RL8 |
25 |
| - build: openstack.openhpc-cuda |
| 17 | + build: ["RL8", "RL9", "RL9-cuda"] |
26 | 18 | env:
|
27 |
| - BUILD: ${{ matrix.build }}-${{ matrix.os_version }} |
| 19 | + JSON_PATH: environments/.stackhpc/terraform/cluster_image.json |
28 | 20 |
|
29 | 21 | steps:
|
30 |
| - - name: Download image details artifact |
31 |
| - uses: actions/download-artifact@v4 |
32 |
| - with: |
33 |
| - name: image-details-${{ env.BUILD }} |
| 22 | + - uses: actions/checkout@v2 |
| 23 | + |
| 24 | + - name: Record settings for CI cloud |
| 25 | + run: | |
| 26 | + echo CI_CLOUD: ${{ vars.CI_CLOUD }} |
| 27 | +
|
| 28 | + - name: Setup ssh |
| 29 | + run: | |
| 30 | + set -x |
| 31 | + mkdir ~/.ssh |
| 32 | + echo "${{ secrets[format('{0}_SSH_KEY', vars.CI_CLOUD)] }}" > ~/.ssh/id_rsa |
| 33 | + chmod 0600 ~/.ssh/id_rsa |
| 34 | + shell: bash |
| 35 | + |
| 36 | + - name: Add bastion's ssh key to known_hosts |
| 37 | + run: cat environments/.stackhpc/bastion_fingerprints >> ~/.ssh/known_hosts |
| 38 | + shell: bash |
| 39 | + |
| 40 | + - name: setup environment |
| 41 | + run: | |
| 42 | + python3 -m venv venv |
| 43 | + . venv/bin/activate |
| 44 | + pip install -U pip |
| 45 | + pip install $(grep -o 'python-openstackclient[><=0-9\.]*' requirements.txt) |
| 46 | + shell: bash |
| 47 | + |
| 48 | + - name: Write clouds.yaml |
| 49 | + run: | |
| 50 | + mkdir -p ~/.config/openstack/ |
| 51 | + echo "${{ secrets[format('{0}_CLOUDS_YAML', vars.CI_CLOUD)] }}" > ~/.config/openstack/clouds.yaml |
| 52 | + shell: bash |
34 | 53 |
|
35 |
| - - name: Use the downloaded artifact |
| 54 | + - name: Parse image name json |
36 | 55 | id: manifest
|
37 | 56 | run: |
|
38 |
| - IMAGE_ID=$(cat image-id.txt) |
39 |
| - IMAGE_NAME=$(cat image-name.txt) |
| 57 | + IMAGE_NAME=$(jq --arg version "${{ matrix.build }}" -r '.[$version]' "${{ env.JSON_PATH }}") |
40 | 58 | echo "image-name=${IMAGE_NAME}" >> "$GITHUB_OUTPUT"
|
41 |
| - echo "image-id=${IMAGE_ID}" >> "$GITHUB_OUTPUT" |
42 | 59 |
|
43 | 60 | - name: Download image
|
44 | 61 | run: |
|
|
0 commit comments