-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Attempt version generation * We don't really need to keep the sources in the final image * Update Makefile to generate version.json * Enable GCP login and artifact upload * Add version generation to integration tests too * Remove CircleCI deploy job * Make pushes dependent on environment variables.
- Loading branch information
Showing
9 changed files
with
134 additions
and
55 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
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,70 @@ | ||
name: Deploy | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- '[0-9]+.[0-9a-z]+.[0-9a-z]+' | ||
|
||
jobs: | ||
docker: | ||
name: Docker Images | ||
runs-on: ubuntu-22.04 | ||
environment: build | ||
permissions: | ||
contents: read | ||
id-token: write | ||
steps: | ||
- name: Clone repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Docker Metadata | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: | | ||
${{ vars.DOCKERHUB_REPO }} | ||
${{ vars.GCP_PROJECT_ID && format('{0}-docker.pkg.dev/{1}/{2}/autograph-edge', vars.GAR_LOCATION, vars.GCP_PROJECT_ID, vars.GAR_REPOSITORY) }} | ||
tags: | | ||
type=semver,pattern={{raw}} | ||
type=raw,value=latest,enable={{is_default_branch}} | ||
- id: gcp-auth | ||
if: ${{ vars.GCP_PROJECT_ID }} | ||
uses: google-github-actions/auth@v2 | ||
with: | ||
token_format: 'access_token' | ||
service_account: artifact-writer@${{ vars.GCP_PROJECT_ID}}.iam.gserviceaccount.com | ||
workload_identity_provider: ${{ vars.GCPV2_GITHUB_WORKLOAD_IDENTITY_PROVIDER }} | ||
|
||
- name: Login to Google Artifact Registry | ||
if: ${{ vars.GCP_PROJECT_ID }} | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ${{ vars.GAR_LOCATION }}-docker.pkg.dev | ||
username: oauth2accesstoken | ||
password: ${{ steps.gcp-auth.outputs.access_token }} | ||
|
||
- name: Login to Dockerhub | ||
if: ${{ vars.DOCKERHUB_REPO }} | ||
uses: docker/login-action@v3 | ||
with: | ||
username: ${{ vars.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_PASSWORD }} | ||
|
||
- name: Generate version.json | ||
shell: bash | ||
run: ./version.sh | tee version.json | ||
|
||
- name: Build and push | ||
uses: docker/build-push-action@v6 | ||
with: | ||
push: ${{ github.event_name != 'pull_request' }} | ||
sbom: true | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
context: . |
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
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,2 +1,3 @@ | ||
vendor/ | ||
version.json | ||
coverage.out |
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
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
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
This file was deleted.
Oops, something went wrong.
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,37 @@ | ||
#!/bin/bash | ||
SRCDIR=$(dirname $0) | ||
|
||
if [ -n "$GITHUB_SHA" ]; then | ||
# We are probably running in a Github workflow. | ||
VERSION_SOURCE_URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" | ||
VERSION_COMMIT_HASH="$GITHUB_SHA" | ||
VERSION_BUILD_URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | ||
if [[ "$GITHUB_REF" =~ ^refs/tags/ ]]; then | ||
VERSION_TAG_NAME="$GITHUB_REF_NAME" | ||
fi | ||
elif [ -n "$CIRCLE_SHA1" ]; then | ||
# We are running in a CircleCI job. | ||
VERSION_SOURCE_URL="https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME" | ||
VERSION_COMMIT_HASH="$CIRCLE_SHA1" | ||
VERSION_BUILD_URL="$CIRCLE_BUILD_URL" | ||
VERSION_TAG_NAME="$CIRCLE_TAG" | ||
elif [ -d ${SRCDIR}/.git ]; then | ||
# Otherwise, try to grab version information from the git repository. | ||
VERSION_COMMIT_HASH=$(git -C ${SRCDIR} rev-parse HEAD) | ||
VERSION_SOURCE_URL=$(git -C ${SRCDIR} remote get-url origin) | ||
VERSION_TAG_NAME=$(git -C ${SRCDIR} describe --tags --always) | ||
fi | ||
|
||
# Redirect to a file if provided as an argument. | ||
if [ $# -ge 1 ]; then | ||
exec > $1 | ||
fi | ||
|
||
cat << EOF | ||
{ | ||
"source": "${VERSION_SOURCE_URL}", | ||
"commit": "${VERSION_COMMIT_HASH}", | ||
"version: "${VERSION_TAG_NAME}", | ||
"build: "${VERSION_BUILD_URL}", | ||
} | ||
EOF |