-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
238 additions
and
166 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: Image build and test | ||
|
||
env: | ||
IMAGE_NAME: geoscienceaustralia/dea-coastlines | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
paths: | ||
- 'coastlines/**' | ||
- 'data/**' | ||
- 'tests/**' | ||
- '.github/workflows/dea-coastlines-image.yml' | ||
- 'Dockerfile' | ||
- 'requirements.in' | ||
- 'setup.py' | ||
- 'codecov.yaml' | ||
|
||
pull_request: | ||
branches: | ||
- main | ||
paths: | ||
- 'coastlines/**' | ||
- 'data/**' | ||
- 'tests/**' | ||
- '.github/workflows/dea-coastlines-image.yml' | ||
- 'Dockerfile' | ||
- 'requirements.in' | ||
- 'setup.py' | ||
- 'codecov.yaml' | ||
|
||
release: | ||
types: [edited, published] | ||
|
||
permissions: | ||
id-token: write # Required for requesting Json web token | ||
contents: write # Required for actions/checkout | ||
pull-requests: write # Required for validation results comment bot | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v4 | ||
with: | ||
role-to-assume: arn:aws:iam::060378307146:role/github-actions-dea-notebooks--sandbox | ||
aws-region: ap-southeast-2 | ||
role-duration-seconds: 7200 # 2 hours | ||
|
||
- name: Get database credentials | ||
run: | | ||
username_password=$(aws ssm get-parameter --name /dea-sandbox-eks/sandbox_reader/db.creds --with-decryption --query Parameter.Value --output text) | ||
echo DATACUBE_DB_URL=postgresql://${username_password}@localhost:5432/odc >> $GITHUB_ENV | ||
- name: Open port forward to RDS | ||
run: | | ||
npx basti connect \ | ||
--custom-target-vpc vpc-086904199e505c1f6 \ | ||
--custom-target-host db-aurora-dea-sandbox-eks-1.cos5zfpkso9m.ap-southeast-2.rds.amazonaws.com \ | ||
--custom-target-port 5432 \ | ||
--local-port 5432 & | ||
# Wait until the connection comes up, but, if it doesn't, don't hang forever. | ||
npx wait-on --timeout 120000 --interval 1000 tcp:127.0.0.1:5432 | ||
echo "PGPORT=5432" >> $GITHUB_ENV | ||
echo "PGHOST=localhost" >> $GITHUB_ENV |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,59 @@ | ||
name: Build and push image | ||
|
||
# Run action on both a push to the "develop" branch, | ||
# and when a Github release is created/edited/published | ||
on: | ||
push: | ||
branches: | ||
- develop | ||
paths: | ||
- 'coastlines/**' | ||
- '.github/workflows/docker.yaml' | ||
- 'Dockerfile' | ||
|
||
release: | ||
types: [created, edited, published] | ||
|
||
permissions: | ||
id-token: write # This is required for requesting the JWT | ||
contents: read # This is required for actions/checkout | ||
|
||
env: | ||
IMAGE_NAME: geoscienceaustralia/dea-coastlines | ||
|
||
jobs: | ||
push_ecr: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
# If action is triggered by a release, push image to | ||
# Dockerhub using custom image tag extracted from the release | ||
- name: Get current version tag from release to use as image tag | ||
if: github.event_name == 'release' | ||
run: | | ||
echo "RELEASE=${GITHUB_REF/refs\/tags\/}" >> $GITHUB_ENV | ||
# If action is trigged by a push (not release), push a | ||
# latest/unstable image to Dockerhub using image tag based | ||
# on the most recent Github tag and commit hash | ||
- name: Get git commit hash for push to branch to use as image tag | ||
if: github.event_name != 'release' | ||
run: | | ||
git fetch --all --tags | ||
echo "RELEASE=$(git describe --tags)" >> $GITHUB_ENV | ||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v1 | ||
with: | ||
role-to-assume: arn:aws:iam::538673716275:role/github-actions-role | ||
aws-region: ap-southeast-2 | ||
|
||
- name: Push image to ECR | ||
uses: whoan/docker-build-with-cache-action@master | ||
with: | ||
context: ./ | ||
registry: 538673716275.dkr.ecr.ap-southeast-2.amazonaws.com | ||
image_name: ${{ env.IMAGE_NAME }} | ||
image_tag: latest,${{ env.RELEASE }} | ||
# name: Build and push image | ||
|
||
# # Run action on both a push to the "develop" branch, | ||
# # and when a Github release is created/edited/published | ||
# on: | ||
# push: | ||
# branches: | ||
# - develop | ||
# paths: | ||
# - 'coastlines/**' | ||
# - '.github/workflows/docker.yaml' | ||
# - 'Dockerfile' | ||
|
||
# release: | ||
# types: [created, edited, published] | ||
|
||
# permissions: | ||
# id-token: write # This is required for requesting the JWT | ||
# contents: read # This is required for actions/checkout | ||
|
||
# env: | ||
# IMAGE_NAME: geoscienceaustralia/dea-coastlines | ||
|
||
# jobs: | ||
# push_ecr: | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - name: Checkout code | ||
# uses: actions/checkout@v3 | ||
|
||
# # If action is triggered by a release, push image to | ||
# # Dockerhub using custom image tag extracted from the release | ||
# - name: Get current version tag from release to use as image tag | ||
# if: github.event_name == 'release' | ||
# run: | | ||
# echo "RELEASE=${GITHUB_REF/refs\/tags\/}" >> $GITHUB_ENV | ||
|
||
# # If action is trigged by a push (not release), push a | ||
# # latest/unstable image to Dockerhub using image tag based | ||
# # on the most recent Github tag and commit hash | ||
# - name: Get git commit hash for push to branch to use as image tag | ||
# if: github.event_name != 'release' | ||
# run: | | ||
# git fetch --all --tags | ||
# echo "RELEASE=$(git describe --tags)" >> $GITHUB_ENV | ||
|
||
# - name: Configure AWS credentials | ||
# uses: aws-actions/configure-aws-credentials@v1 | ||
# with: | ||
# role-to-assume: arn:aws:iam::538673716275:role/github-actions-role | ||
# aws-region: ap-southeast-2 | ||
|
||
# - name: Push image to ECR | ||
# uses: whoan/docker-build-with-cache-action@master | ||
# with: | ||
# context: ./ | ||
# registry: 538673716275.dkr.ecr.ap-southeast-2.amazonaws.com | ||
# image_name: ${{ env.IMAGE_NAME }} | ||
# image_tag: latest,${{ env.RELEASE }} |
Oops, something went wrong.