GHA - experiment with deploying to dev-alpha.bloomlibrary.org #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Deploy | |
on: | |
push: | |
branches: | |
- master | |
- release | |
- embed | |
workflow_dispatch: # Allows manual triggering of the workflow | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: yarn install --frozen-lockfile --network-timeout 1000000000 | |
# Not yet | |
# - name: Upload translations to Crowdin | |
# if: github.ref == 'refs/heads/release' | |
# # Push any new code-based strings to Crowdin | |
# run: crowdin-dangerous-upload | |
# env: | |
# bloomCrowdinApiToken: ${{ secrets.BLOOM_CROWDIN_TOKEN }} | |
- name: Download translations from Crowdin | |
run: yarn crowdin-download | |
env: | |
bloomCrowdinApiToken: ${{ secrets.BLOOM_CROWDIN_TOKEN }} | |
- name: Build | |
run: | | |
if [ "${{ github.ref }}" == "refs/heads/master" ]; then | |
yarn build:ci:alpha | |
else | |
yarn build:ci | |
fi | |
- name: Run tests | |
run: yarn test:ci | |
- name: Deploy to S3 - non bloomlibrary.org | |
run: | | |
if [ "${{ github.ref }}" == "refs/heads/master" ]; then | |
# Deploy to alpha and dev-alpha for master branch | |
# aws s3 rm s3://alpha.bloomlibrary.org --recursive | |
# Copy everything that should be cached for a long time: contents of static directory and bloom-player directory, except bloom-player.htm itself. | |
# These things are safe to cache because the build inserts a hash into their names. Any update will cause a different file to be referenced. | |
# aws s3 cp build s3://alpha.bloomlibrary.org --recursive --cache-control max-age=31536000 --exclude "*" --include "static/*" --include "bloom-player/*" --exclude "*.htm" | |
# Copy everything else, which should not be cached: the root directory files, including index.html, and any htm files, especially bloom-player's | |
# aws s3 cp build s3://alpha.bloomlibrary.org --recursive --cache-control no-cache --exclude "static/*" --exclude "bloom-player/*" --include "*.htm" | |
# make this version of the script that helps with managing history on embedded sites | |
# note that we do not have the cache-defeating hash on this | |
# aws s3 cp public/embed-bloomlibrary.js s3://share.bloomlibrary.org/alpha-assets/embed-bloomlibrary.js --cache-control no-cache | |
aws s3 rm s3://dev-alpha.bloomlibrary.org --recursive | |
# Copy everything that should be cached for a long time: contents of static directory and bloom-player directory, except bloom-player.htm itself. | |
# These things are safe to cache because the build inserts a hash into their names. Any update will cause a different file to be referenced. | |
aws s3 cp build s3://dev-alpha.bloomlibrary.org --recursive --cache-control max-age=31536000 --exclude "*" --include "static/*" --include "bloom-player/*" --exclude "*.htm" | |
# Copy everything else, which should not be cached: the root directory files, including index.html, and any htm files, especially bloom-player's | |
aws s3 cp build s3://dev-alpha.bloomlibrary.org --recursive --cache-control no-cache --exclude "static/*" --exclude "bloom-player/*" --include "*.htm" | |
elif [ "${{ github.ref }}" == "refs/heads/release" ]; then | |
# Deploy to dev for release branch | |
# aws s3 rm s3://dev.bloomlibrary.org --exclude "*/*" --include "bloom-player/*" --include "static/*" --include "translations/*" --recursive | |
# Copy everything that should be cached for a long time: contents of static directory and bloom-player directory, except bloom-player.htm itself. | |
# These things are safe to cache because the build inserts a hash into their names. Any update will cause a different file to be referenced. | |
# aws s3 cp build s3://dev.bloomlibrary.org --recursive --cache-control max-age=31536000 --exclude "*" --include "static/*" --include "bloom-player/*" --exclude "*.htm" | |
# Copy everything else, which should not be cached: the root directory files, including index.html, and any htm files, especially bloom-player's | |
# aws s3 cp build s3://dev.bloomlibrary.org --recursive --cache-control no-cache --exclude "static/*" --exclude "bloom-player/*" --include "*.htm" | |
elif [ "${{ github.ref }}" == "refs/heads/embed" ]; then | |
# Deploy to embed for embed branch | |
# aws s3 rm s3://embed.bloomlibrary.org --recursive | |
# Copy everything that should be cached for a long time: contents of static directory and bloom-player directory, except bloom-player.htm itself. | |
# These things are safe to cache because the build inserts a hash into their names. Any update will cause a different file to be referenced. | |
# aws s3 cp build s3://embed.bloomlibrary.org --recursive --cache-control max-age=31536000 --exclude "*" --include "static/*" --include "bloom-player/*" --exclude "*.htm" | |
# Copy everything else, which should not be cached: the root directory files, including index.html, and any htm files, especially bloom-player's | |
# aws s3 cp build s3://embed.bloomlibrary.org --recursive --cache-control no-cache --exclude "static/*" --exclude "bloom-player/*" --include "*.htm" | |
# make this version of the script that helps with managing history on embedded sites | |
# note that we do not have the cache-defeating hash on this | |
# aws s3 cp public/embed-bloomlibrary.js s3://share.bloomlibrary.org/assets/embed-bloomlibrary.js --cache-control no-cache | |
fi | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.SIL_LEAD_BLOOM_LIBRARY_DEPLOY_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.SIL_LEAD_BLOOM_LIBRARY_DEPLOY_AWS_SECRET_ACCESS_KEY }} | |
- name: Deploy to S3 - bloomlibrary.org | |
if: github.ref == 'refs/heads/release' | |
run: | | |
# aws s3 rm s3://bloomlibrary.org --exclude "*/*" --include "bloom-player/*" --include "static/*" --include "translations/*" --recursive | |
# Copy everything that should be cached for a long time: contents of static directory and bloom-player directory, except bloom-player.htm itself. | |
# These things are safe to cache because the build inserts a hash into their names. Any update will cause a different file to be referenced. | |
# Please keep the --exclude robots.txt at the end of both commands! If published, it will prevent search engines from indexing us. | |
# aws s3 cp build s3://bloomlibrary.org --recursive --cache-control max-age=31536000 --exclude "*" --include "static/*" --include "bloom-player/*" --exclude "*.htm" --exclude "robots.txt" | |
# Copy everything else, which should not be cached: the root directory files, including index.html, and any htm files, especially bloom-player's | |
# aws s3 cp build s3://bloomlibrary.org --recursive --cache-control no-cache --exclude "static/*" --exclude "bloom-player/*" --include "*.htm" --exclude "robots.txt" | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.SIL_BLOOM_UPLOADER_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.SIL_BLOOM_UPLOADER_AWS_SECRET_ACCESS_KEY }} |