Skip to content

Consolidate to single workflow job #12

Consolidate to single workflow job

Consolidate to single workflow job #12

name: Deploy to AWS Amplify
on:
# Runs on pushes targeting the default branch
push:
branches: ["wiremock-amplify"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
permissions:
contents: read
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
concurrency:
group: "amplify"
cancel-in-progress: true
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- uses: aws-actions/[email protected]
with:
role-to-assume: arn:aws:iam::499333472133:role/GitHub-wiremock.org-Deploy
aws-region: us-east-1
- name: Checkout
uses: actions/checkout@v3
with:
submodules: "true"
- name: Setup Ruby
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
with:
ruby-version: '2.7.6' # Not needed with a .ruby-version file
bundler: '2.4.10'
bundler-cache: false # runs 'bundle install' and caches installed gems automatically
cache-version: 3 # Increment this number if you need to re-download cached gems
- name: Update RubyGems and Co
run: |
gem uninstall rubygems-update
gem install rubygems-update -v 3.4.22
update_rubygems
gem update --system
- name: Install Ruby Bundles
run: bundle install
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --config '_config.yml' --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Build 2.x with Jekyll
# Outputs to the './_site' directory by default
run: |
cd .submodules/wiremock.org-2.x
bundle exec jekyll build --config '../../_config.yml,../../_config-2.x.yml' --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Build 3.x with Jekyll
# We use the same as the root build, but with additional config
run: |
bundle exec jekyll build --config '_config.yml,_config-3.x.yml' --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install and configure Poetry
uses: snok/install-poetry@v1
with:
version: 1.5.1
- name: Install dependencies
run: pip install -r requirements.txt
- name: Build the docs site
run: mkdocs build
- name: Deploy version branches to the website
run: |
ruby .scripts/merge-sitemaps.rb
mkdir _site/2.x
cp -R .submodules/wiremock.org-2.x/tmp/site_2x/* _site/2.x/
mkdir _site/3.x
cp -R tmp/site_3x/* _site/3.x/
# TODO: Uncomment when cleaned up (if ever)
# - name: Validate HTML and links
# uses: anishathalye/proof-html@v2
# with:
# directory: ./_site
# enforce_https: false
- name: Deploy to Amplify
run: |
ls -l
bash -x ./deploy-amplify.sh