Updated changelog #247
Workflow file for this run
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: CD | |
on: push | |
env: | |
CI: true | |
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-gems- | |
- uses: satackey/action-docker-layer-caching@v0.0.11 | |
continue-on-error: true | |
- name: Run the tests | |
run: rake test | |
deploy: | |
if: startsWith(github.ref, 'refs/tags/v') | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: satackey/action-docker-layer-caching@v0.0.11 | |
continue-on-error: true | |
- name: Set environment from cloudtruth | |
uses: cloudtruth/configure-action@v2 | |
with: | |
apikey: "${{ secrets.CLOUDTRUTH_API_KEY }}" | |
project: "deploy" | |
environment: "production" | |
- name: Install Atmos | |
run: sudo gem install --no-document simplygenius-atmos | |
- name: Setup Atmos | |
run: | | |
mkdir -p config | |
echo -e "${ATMOS_YML}" > config/atmos.yml | |
- name: Build the Docker image | |
run: | | |
rake build_release | |
- name: Push the Docker image | |
run: | | |
tag=${GITHUB_REF##*/v} | |
echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin | |
TAGS="$tag latest" rake docker_push | |
- name: Package helm chart | |
run: | | |
export HELM_REPO_URL="${PACKAGES_URL}/${PACKAGES_HELM_PATH}" | |
rake helm_package | |
- name: Deploy helm chart to S3 | |
run: | | |
atmos -e production auth_exec aws s3 sync tmp/packaged-chart/ s3://${PACKAGES_BUCKET_NAME}/${PACKAGES_HELM_PATH}/ | |
assets="" | |
for asset in tmp/packaged-chart/*; do | |
asset=${asset##*/} | |
asset="/${PACKAGES_HELM_PATH}/${asset}" | |
assets="${assets} ${asset}" | |
done | |
atmos -e production auth_exec aws cloudfront create-invalidation --distribution-id ${PACKAGES_DISTRIBUTION_ID} --paths ${assets} |