diff --git a/.github/workflows/branchtest.yml b/.github/workflows/branchtest.yml index dbce2297..95c46ad2 100644 --- a/.github/workflows/branchtest.yml +++ b/.github/workflows/branchtest.yml @@ -9,12 +9,13 @@ jobs: skip-check: runs-on: ubuntu-latest outputs: - skip: ${{ steps.check.outputs.skip }} + skip: ${{ steps.skip.outputs.skip }} steps: - id: skip uses: fkirc/skip-duplicate-actions@v5 with: concurrent_skipping: 'always' + getbranch: runs-on: ubuntu-latest needs: skip-check @@ -38,12 +39,56 @@ jobs: echo "netmakerbranch=develop" >> $GITHUB_OUTPUT fi + getserver: + runs-on: ubuntu-latest + needs: skip-check + if: ${{ needs.skip-check.outputs.skip != 'true' }} + outputs: + netmakerserver: ${{ steps.getserver.outputs.server }} + steps: + - name: setup ssh + run: | + mkdir -p ~/.ssh/ + echo "$SSH_KEY" > ~/.ssh/id_devops + chmod 600 ~/.ssh/id_devops + cat >>~/.ssh/config <>/tmp/server + break + fi + done + echo server is $server + if [ "$server" == "" ] + then + echo server not set + exit 1 + fi + echo "netmakerserver=$server" >> $GITHUB_OUTPUT + terraform: - needs: getbranch + needs: [getbranch, getserver] uses: gravitl/devops/.github/workflows/terraform.yml@master with: netclientbranch: ${{ github.head_ref }} netmakerbranch: ${{ needs.getbranch.outputs.netmakerbranch }} + server: ${{ needs.getserver.outputs.netmakerserver }} secrets: inherit diff --git a/.github/workflows/deletedroplets.yml b/.github/workflows/deletedroplets.yml index 1f5165bb..d3b6c8b7 100644 --- a/.github/workflows/deletedroplets.yml +++ b/.github/workflows/deletedroplets.yml @@ -16,6 +16,9 @@ jobs: with: run_id: ${{ github.event.workflow_run.id}} if_no_artifact_found: warn + - name: get server name + run: | + echo "SERVER=$(cat ./server/server) >> $GITHUB_ENV" - name: get PR env: GH_TOKEN: ${{ github.token }} @@ -42,6 +45,14 @@ jobs: env: DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} TAG: ${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }} + - name: mark server as available + uses: appleboy/ssh-action@master + with: + host: server.${{ env.SERVER }}.clustercat.com + username: root + key: ${{ secrets.TESTING_SSH_KEY }} + script: | + rm /tmp/branchtest on-failure: runs-on: ubuntu-latest @@ -52,6 +63,9 @@ jobs: with: run_id: ${{ github.event.workflow_run.id}} if_no_artifact_found: warn + - name: get server name + run: | + echo "SERVER=$(cat ./server/server) >> $GITHUB_ENV" - name: get PR env: GH_TOKEN: ${{ github.token }} @@ -65,7 +79,7 @@ jobs: webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} color: "#990000" username: "GitHub Bot" - message: " ${{ github.repository}}:${{ github.event.workflow_run.name }}:PR ${{ env.pull_request}} failed: droplets from this workflow (tag ${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}) will be deleted in 5 hours" + message: " ${{ github.repository}}:${{ github.event.workflow_run.name }}:PR ${{ env.pull_request}} failed: droplets from this workflow (tag ${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }}) will be deleted in 3 hours" file: ./results/results.log - name: discord error message uses: appleboy/discord-action@master @@ -79,7 +93,7 @@ jobs: - name: delete droplets if: success() || failure() run: | - sleep 5h + sleep 3h curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ @@ -87,3 +101,13 @@ jobs: env: DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} TAG: ${{ github.event.workflow_run.id }}-${{ github.event.workflow_run.run_attempt }} + - name: mark server as available + if: success() || failure() + uses: appleboy/ssh-action@master + with: + host: server.${{ env.SERVER }}.clustercat.com + username: root + key: ${{ secrets.TESTING_SSH_KEY }} + script: | + rm /tmp/branchtest +