diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index d092bc46a..83900f2b2 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -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 }} diff --git a/.github/workflows/container-build.yml b/.github/workflows/container-build.yml index 2b9ebc5c3..2e06fb609 100644 --- a/.github/workflows/container-build.yml +++ b/.github/workflows/container-build.yml @@ -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' diff --git a/.github/workflows/create-arm.yml b/.github/workflows/create-arm.yml index 879c3a654..c03711361 100644 --- a/.github/workflows/create-arm.yml +++ b/.github/workflows/create-arm.yml @@ -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"