Skip to content

feat: add Target Tracking tutorial #98

feat: add Target Tracking tutorial

feat: add Target Tracking tutorial #98

# Apache License 2.0
name: Build Base Development Image
on:
push:
branches:
- main
pull_request:
release:
types: [published]
concurrency:
group: main-${{ github.ref }}
cancel-in-progress: true
env:
PROJECT_NAME: open-space-toolkit-base
jobs:
prepare-environment:
name: Prepare Environment Variables
runs-on: ubuntu-latest
outputs:
project_name: ${{ steps.project-name.outputs.value }}
project_version: ${{ steps.project-version.outputs.value }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
lfs: true
- id: project-name
name: Get Project Name
run: |
echo "Project name: ${{ env.PROJECT_NAME }}"
echo "value=${{ env.PROJECT_NAME }}" >> $GITHUB_OUTPUT
- id: project-version
name: Get Project Version
run: |
project_version=$(git describe --tags --always)
echo "Project version: ${project_version}"
echo "value=${project_version}" >> $GITHUB_OUTPUT
build-part1-of-base-image:
name: Build Part 1 of Base Image
needs:
- prepare-environment
uses: ./.github/workflows/build-image.yml
with:
project_name: ${{ needs.prepare-environment.outputs.project_name }}
project_version: ${{ needs.prepare-environment.outputs.project_version }}
push: false
target: base1
secrets: inherit
build-part2-and-push-and-tag-base-image:
name: Build Part 2 and Push and Tag Base Image with Version
needs:
- prepare-environment
- build-part1-of-base-image
uses: ./.github/workflows/build-image.yml
with:
project_name: ${{ needs.prepare-environment.outputs.project_name }}
project_version: ${{ needs.prepare-environment.outputs.project_version }}
push: true
target: base2
secrets: inherit
push-and-tag-base-image-as-latest:
if: github.event_name == 'release' && github.event.action == 'published'
name: Push and Tag Base Image as Latest
needs:
- prepare-environment
- build-part2-and-push-and-tag-base-image
uses: ./.github/workflows/build-image.yml
with:
project_name: ${{ needs.prepare-environment.outputs.project_name }}
project_version: latest
push: true
target: base2
secrets: inherit