diff --git a/.github/workflows/ci.md b/.github/workflows/ci.md index b1a6a09..5bc5a24 100644 --- a/.github/workflows/ci.md +++ b/.github/workflows/ci.md @@ -1,5 +1,5 @@ -# AWS CloudWatch Alarm Handler CI -This GitHub Actions workflow lints and tests the `aws-cloudwatch-alarm-handler` JavaScript project, then "builds" a `*.zip` file that can be uploaded directly to Amazon Web Services (AWS) [Lambda](https://aws.amazon.com/lambda). +# REX Staking Portal CI +This GitHub Actions workflow lints, tests, builds, and publishes the `rex-staking-portal` Svelte website. ### Index 1. [Triggers](#triggers) @@ -10,8 +10,7 @@ This GitHub Actions workflow lints and tests the `aws-cloudwatch-alarm-handler` ## Triggers This GitHub action will run under the following circumstances: -1. When code is pushed to the `main` branch. -1. When code is pushed to any branch with a name starting with `release/`. +1. When code is pushed to any branch. 1. When any tag is pushed. 1. On any workflow dispatch event, which is triggered manually using the "Workflow Dispatch" button in the Actions tab of the GitHub repository. @@ -23,28 +22,30 @@ This workflow performs the following steps: 1. Attach Documentation: 1. Checkout the repo with no submodules or history. 1. Attach an annotation to the GitHub Actions build summary page containing this CI documentation. -1. Build `aws-cloudwatch-alarm-handler`: +1. Build `rex-staking-portal`: > This is a build matrix with one or more nodeJS versions. - 1. Checkout this repo with history. + 1. Checkout this repo without history. 1. Setup nodeJS at the given major version. 1. Download project dependencies. 1. Lint the project. - 1. Run unit and integration tests. - 1. "Build" or, more accurately, pack a `*.zip` archive for upload to AWS. - 1. Attach the `*.zip` file as an artifact. + 1. Generate static site files and pack them in a `*.tar.gz` archive along with project and build metadata. + 1. Attach the `*.tar.gz` file as an artifact. +1. Publish `rex-staking-portal`: + 1. Checkout this repo without history. + 1. Determine whether to perform a deployment or a dry-run, and authenticate to Amazon Web Services (AWS) accordingly. + 1. Download build artifacts from the build matrix above. + 1. Push (or simulate pushing) the build artifacts to the AWS S3 bucket for the REX Staking Portal. ## Outputs This workflow produces the following outputs: -1. Archive for upload to AWS Lambda (`*.zip`). - -> 📁 Due to actions/upload-artifact [issue 39](https://github.com/actions/upload-artifact/issues/39) which has been open for over _three years and counting_, the archives attached as artifacts will be zipped by GitHub when you download them such that you get a `*.zip` containing the `aws-cloudwatch-alarm-handler-*.zip`. There is nothing anyone can do about this except for Microsoft/GitHub. +1. Archive for upload to AWS S3 (`*.tar.gz`). ## See Also -- [Pipeline](https://github.com/eosnetworkfoundation/aws-cloudwatch-alarm-handler/actions/workflows/ci.yml) +- [Pipeline](https://github.com/eosnetworkfoundation/rex-staking-portal/actions/workflows/ci.yml) - [Project Documentation](../../README.md) For assistance with the CI system, please open an issue in this repo or reach out to the ENF Automation team. --- > **_Legal Notice_** -Some content in this repository was generated in collaboration with one or more machine learning algorithms or weak artificial intelligence (AI). This notice is required in some countries. +> This repo contains assets created in collaboration with a large language model, machine learning algorithm, or weak artificial intelligence (AI). This notice is required in some countries.