name: Deploy on: [push, workflow_dispatch] jobs: deploy: runs-on: ubuntu-22.04 steps: - name: Git checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: "0.122.0" extended: true - name: Set up ruby 3.2.1 uses: ruby/setup-ruby@v1 env: BUNDLE_GEMFILE: ${{ github.workspace }}/bin/dither/Gemfile with: ruby-version: 3.2.1 bundler-cache: true - name: Add decryption key env: KEY: ${{ secrets.IMAGE_DECRYPTION_KEY }} run: | echo "$KEY" > ${{ github.workspace }}/secret.key - name: Start dither server env: ROOT: ${{ github.workspace }}/content KEY: ${{ github.workspace }}/secret.key run: cd bin/dither && bundle exec ruby dither.rb >> dither.log 2>&1 & - name: Test build env: DITHER_SERVER: http://localhost:4567 run: | source bin/get-last-commit.sh hugo - name: Install SSH deploy key if: ${{ github.ref == 'refs/heads/main' }} env: DEPLOY_KEY: ${{ secrets.CI_DEPLOY_KEY }} SERVER_IP: ${{ secrets.SERVER_IP }} run: | mkdir -p ~/.ssh chmod 700 ~/.ssh echo "$DEPLOY_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan $SERVER_IP > ~/.ssh/known_hosts - name: Deploy if: ${{ github.ref == 'refs/heads/main' }} env: SERVER_IP: ${{ secrets.SERVER_IP }} run: bin/deploy - name: Upload dither.log uses: actions/upload-artifact@v3 with: name: dither.log path: bin/dither/dither.log