(Bot) Update list of tags for CI/CD #84
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 Docker Images | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- ".github/tags.yaml" | |
- ".github/builder.py" | |
- ".github/workflows/build-docker-images.yml" | |
workflow_dispatch: {} | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
build-docker-images: | |
environment: Configure CI/CD | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: 'Authenticate to Google Cloud' | |
uses: 'google-github-actions/auth@v1' | |
with: | |
workload_identity_provider: 'projects/688237091507/locations/global/workloadIdentityPools/oidc-github-identity-pool/providers/oidc-github-provider' | |
service_account: '[email protected]' | |
- name: 'Set up GCP CLI' | |
uses: 'google-github-actions/setup-gcloud@v1' | |
- name: 'GCP CLI Info' | |
run: | | |
gcloud info | |
gcloud auth list --filter=status:ACTIVE --format="value(account)" | |
- name: 'GCP set project' | |
run: | | |
gcloud config set project lavanet-public | |
- name: 'Authenticate to Google Artifact' | |
run: | | |
gcloud auth configure-docker us-central1-docker.pkg.dev | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Cache Docker layers | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/.buildx-cache | |
key: ${{ runner.os }}-buildx-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-buildx- | |
# build all | |
- name: Build, tag, and push docker image to GCP | |
run: | | |
export TAGS=$(cat .github/tags.yaml | yq e ".tags" -o json -P -) | |
export USE_CACHE="true" | |
python3 .github/builder.py | |
# get lavad | |
- name: "Get lavad" | |
run: | | |
export VERSION=$(cat .github/tags.yaml | yq e ".tags[2]" -o json - -r) | |
mkdir bin | |
curl -L -o bin/lavad https://github.com/lavanet/lava/releases/download/$VERSION/lavad-$VERSION-linux-amd64 | |
chmod +x bin/lavad | |
# tag latest | |
- name: "Tag latest branch" | |
run: | | |
python3 .github/tag_latest.py "lava-consumer" | |
python3 .github/tag_latest.py "lava-provider" | |
# Necessary if you don't want your cache to grow forever, until | |
# https://github.com/docker/build-push-action/issues/252 | |
# https://github.com/moby/buildkit/issues/1896 | |
- name: Move cache | |
run: | | |
rm -rf /tmp/.buildx-cache || true | |
mv /tmp/.buildx-cache-new /tmp/.buildx-cache || true |