Skip to content

wip - try --root-prefix #47

wip - try --root-prefix

wip - try --root-prefix #47

Workflow file for this run

name: deploy
on:
push:
branches:
- master
concurrency:
group: ${{ github.workflow }}
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
# Allows JWT to be requested from GitHub's OIDC provider.
id-token: write
steps:
- uses: actions/checkout@v4
- id: cache
uses: actions/cache@v4
with:
# Use Mamba environment file, NPM lock file and Poetry lock file as cache key.
key: ${{ hashFiles('environment.yml', 'package-lock.json', 'poetry.lock') }}
# Cache micromamba binary, environments and pipx installs.
path: |
./local/bin
~/micromamba
~/.local/pipx
- if: steps.cache.outputs.cache-hit != 'true'
run: |
# Install latest micromamba (https://github.com/mamba-org/micromamba-releases/releases).
VERSION=2.0.2-2 INIT_YES=nope CONDA_FORGE_YES=nah "${SHELL}" <(curl -L micro.mamba.pm/install.sh)
# Install Poetry.
pipx install poetry~=1.8
# Create Mamba environment.
eval "$(micromamba shell hook -s posix)"
micromamba create --file environment.yml --yes
micromamba activate "${PWD##*/}" # If dir name == environment name...
# Install Python package dependencies.
poetry install
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::961672313229:role/Account-GithubOidcRole20798CD3-LZP3AHTIPJU2
aws-region: ap-southeast-2
- run: |
# export MAMBA_ROOT_PREFIX=~/micromamba # TODO: remove
eval "$(micromamba shell hook --shell posix --root-prefix ~/micromamba)"
micromamba activate "${PWD##*/}"
# Set timezone so that Sphinx uses local dates.
sudo timedatectl set-timezone Australia/Queensland
# Build Sphinx website.
sphinx-build --builder html brodie.id.au _build
# Install Node.js package dependencies.
npm ci
# Show CDK stack diff.
npx cdk diff
# Deploy CDK stack.
npx cdk deploy --require-approval never