ci/cd - various fixes for arm build

This commit is contained in:
florian 2023-04-30 03:56:19 +02:00
parent 98ce5041d2
commit 1b79e291eb
No known key found for this signature in database
GPG Key ID: 3D80806F12602A7C
3 changed files with 29 additions and 7 deletions

View File

@ -127,6 +127,8 @@ jobs:
SCW_SECRET_KEY: ${{ secrets.SCW_SECRET_KEY }}
SCW_DEFAULT_PROJECT_ID: ${{ secrets.SCW_DEFAULT_PROJECT_ID }}
SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
build-bw-arm:
needs: [create-arm]
uses: ./.github/workflows/container-build.yml
@ -142,7 +144,7 @@ jobs:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
ARM_SSH_IP: ${{ needs.create-arm.outputs.arm_ip }}
ARM_SSH_IP: ${{ fromJSON(needs.create-arm.outputs.json).PublicIP.Address }}
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
build-sc-arm:
needs: [create-arm, build-bw-arm]
@ -158,7 +160,7 @@ jobs:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
ARM_SSH_IP: ${{ needs.create-arm.outputs.arm_ip }}
ARM_SSH_IP: ${{ fromJSON(needs.create-arm.outputs.json).PublicIP.Address }}
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
build-au-arm:
needs: [create-arm, build-sc-arm]
@ -174,7 +176,7 @@ jobs:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
ARM_SSH_IP: ${{ needs.create-arm.outputs.arm_ip }}
ARM_SSH_IP: ${{ fromJSON(needs.create-arm.outputs.json).PublicIP.Address }}
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
build-ui-arm:
needs: [create-arm, build-au-arm]
@ -190,7 +192,7 @@ jobs:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
ARM_SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
ARM_SSH_IP: ${{ needs.create-arm.outputs.arm_ip }}
ARM_SSH_IP: ${{ fromJSON(needs.create-arm.outputs.json).PublicIP.Address }}
ARM_SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
# Linux packages
@ -420,7 +422,7 @@ jobs:
needs: [create-arm, push-bunkerweb, push-scheduler, push-autoconf, push-ui]
uses: ./.github/workflows/rm-arm.yml
secrets:
ARM_ID: ${{ needs.create-arm.outputs.arm_id }}
ARM_ID: ${{ fromJSON(needs.create-arm.outputs.json).ID }}
SCW_ACCESS_KEY: ${{ secrets.SCW_ACCESS_KEY }}
SCW_SECRET_KEY: ${{ secrets.SCW_SECRET_KEY }}
SCW_DEFAULT_PROJECT_ID: ${{ secrets.SCW_DEFAULT_PROJECT_ID }}

View File

@ -60,7 +60,7 @@ jobs:
env:
SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
SSH_IP: ${{ secrets.ARM_SSH_IP }}
SSH_CONFIG: ${{ secrets.ARM_SSH_IP }}
SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
- name: Setup Buildx
uses: docker/setup-buildx-action@v2
if: inputs.CACHE_SUFFIX != 'arm'

View File

@ -8,7 +8,7 @@ on:
value: ${{ fromJson(jobs.build.outputs.json).ID }}
arm_ip:
description: "ARM IP"
value: ${{ fromJson(jobs.build.outputs.json).PluginIP.Address }}
value: ${{ fromJson(jobs.build.outputs.json).PublicIP.Address }}
secrets:
SCW_ACCESS_KEY:
@ -19,6 +19,10 @@ on:
required: true
SCW_DEFAULT_ORGANIZATION_ID:
required: true
ARM_SSH_KEY:
required: true
ARM_SSH_CONFIG:
required: true
jobs:
build:
@ -42,6 +46,22 @@ jobs:
default-organization-id: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
- name: Wait for VM
run: scw instance server wait ${{ fromJson(steps.scw.outputs.json).ID }} zone=fr-par-2
- name: Wait for SSH
uses: iFaxity/wait-on-action@628831cec646e6dacca502f34a6c6b46e131e51d
with:
resource: tcp://${{ fromJson(steps.scw.outputs.json).PublicIP.Address }}:22
timeout: 30000
- name: Setup SSH for ARM node
if: inputs.CACHE_SUFFIX == 'arm'
run: |
mkdir -p ~/.ssh
echo "$SSH_KEY" > ~/.ssh/id_rsa_arm
chmod 600 ~/.ssh/id_rsa_arm
echo "$SSH_CONFIG" | sed "s/SSH_IP/$SSH_IP/g" > ~/.ssh/config
env:
SSH_KEY: ${{ secrets.ARM_SSH_KEY }}
SSH_IP: ${{ fromJson(steps.scw.outputs.json).PublicIP.Address }}
SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }}
- name: Install Docker
run: scw instance server ssh ${{ fromJson(steps.scw.outputs.json).ID }} zone=fr-par-2 "command=curl -fsSL https://test.docker.com -o test-docker.sh ; sh test-docker.sh"