name: Build on: push jobs: build: runs-on: ubuntu-latest steps: - name: Set up Node uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea with: node-version: '14' - name: Set up Ruby uses: actions/setup-ruby@e932e7af67fc4a8fc77bd86b744acd4e42fe3543 with: ruby-version: 2.6 - name: Set up Jekyll run: gem install bundler jekyll jekyll-redirect-from - name: Print environment run: | node --version npm --version ruby --version jekyll --version - name: Checkout repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - name: Install Node dependencies run: npm install - name: Build site if: github.ref != 'refs/heads/master' run: npm run build:prod - name: Build site for S3 if: github.ref == 'refs/heads/master' run: npm run build:prod:sub - name: Deploy to S3 if: github.ref == 'refs/heads/master' uses: jakejarvis/s3-sync-action@be0c4ab89158cac4278689ebedd8407dd5f35a83 with: args: --acl public-read --follow-symlinks --delete env: AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: 'us-east-1' SOURCE_DIR: '_site' DEST_DIR: 'help' - name: Deploy to staging if: github.ref == 'refs/heads/staging' uses: SamKirkland/FTP-Deploy-Action@9c4e4646b8b71d9ff86cfb1a44395ce36bf5ae56 env: FTP_SERVER: ${{ secrets.STAGING_FTP_SERVER }} FTP_USERNAME: ftpuser FTP_PASSWORD: ${{ secrets.STAGING_FTP_PASSWORD }} METHOD: sftp PORT: 22 LOCAL_DIR: '_site' REMOTE_DIR: help ARGS: --delete