diff --git a/.github/workflows/ssh.yml b/.github/workflows/ssh.yml new file mode 100644 index 00000000..425a91ae --- /dev/null +++ b/.github/workflows/ssh.yml @@ -0,0 +1,24 @@ +name: Set up SSH agent + +on: + workflow_call: + inputs: + config: + required: true + type: string + known-hosts: + required: true + type: string + +env: + SSH_AUTH_SOCK: /tmp/ssh-agent.sock + +jobs: + ssh-agent: + runs-on: ubuntu-latest + + steps: + - name: Set up SSH agent + run: | + echo ${{ inputs.config }} + echo ${{ inputs.known-hosts }} diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index af3e3b17..6b2e31c0 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -1,13 +1,21 @@ name: Deploy (Staging) on: - workflow_dispatch - -env: - SSH_AUTH_SOCK: /tmp/ssh-agent.sock + workflow_dispatch: {} + push: + branches: + - helma-🐜 jobs: + ssh: + uses: ./.github/workflows/ssh.yml + with: + config: ${{ vars.SSH_CONFIG }} + known-hosts: ${{ vars.SSH_KNOWN_HOSTS }} + secrets: inherit + stage: + needs: ssh runs-on: ubuntu-latest environment: @@ -29,17 +37,11 @@ jobs: - name: Build with Gradle run: ./gradlew installDist - - name: Set up SSH agent - run: | - ssh-agent -a $SSH_AUTH_SOCK > /dev/null - ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}" - mkdir -p ~/.ssh - echo '${{ vars.SSH_CONFIG }}' > ~/.ssh/config - echo '${{ vars.KNOWN_HOSTS }}' > ~/.ssh/known_hosts - - name: Publish to staging server + # The rsync command applies the same filters as the one in tools/extras/deploy.sh run: | - rsync build/install/helma/ antville.dev:/ \ + ssh antville.dev ping + echo rsync ./build/install/helma/ antville.dev:./ \ --verbose --archive --delete --compress \ --filter 'protect /lib/ext' \ --filter '+ /launcher.jar' \