Bump docker/login-action from 4.1.0 to 4.2.0 (#40) #35
This file contains hidden or 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
| # SPDX-License-Identifier: Apache-2.0 | |
| # Copyright 2024 Intel Corporation | |
| name: GitHub release and Docker images | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - v* | |
| jobs: | |
| # CAUTION: Other actions depend on this name "tag-github" | |
| tag-github: | |
| runs-on: ubuntu-latest | |
| if: github.repository_owner == 'opennetworkinglab' | |
| outputs: | |
| changed: ${{ steps.version-change.outputs.changed }} | |
| version: ${{ steps.version-change.outputs.version }} | |
| release_branch: ${{ steps.version-change.outputs.release_branch }} | |
| version_branch: ${{ steps.version-change.outputs.version_branch }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get changes | |
| id: version-file | |
| env: | |
| BEFORE_SHA: ${{ github.event.before }} | |
| AFTER_SHA: ${{ github.event.after }} | |
| run: | | |
| if git diff --name-only "$BEFORE_SHA" "$AFTER_SHA" | grep VERSION; then | |
| echo "changed=true" >> "$GITHUB_OUTPUT" | |
| version_before=$(git show "$BEFORE_SHA":VERSION) | |
| echo "version_before=$version_before" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "VERSION file was not changed" | |
| fi | |
| - name: Validate change in version file | |
| id: version-change | |
| if: steps.version-file.outputs.changed == 'true' | |
| env: | |
| VERSION_BEFORE_FULL: ${{ steps.version-file.outputs.version_before }} | |
| run: | | |
| version=$(cat VERSION) | |
| version_before_full="$VERSION_BEFORE_FULL" | |
| version_before=${version_before_full::-4} | |
| echo "version=$version" | |
| echo "version_before=$version_before" | |
| validate="^[0-9]+\.[0-9]+\.[0-9]+$" | |
| if [[ "$version" =~ $validate ]]; then | |
| echo "changed=true" >> "$GITHUB_OUTPUT" | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "Version change not for release" | |
| fi | |
| if [[ "$version_before" =~ $validate ]]; then | |
| IFS='.' read -r major minor _patch <<< "$version" | |
| IFS='.' read -r major_b minor_b _patch_b <<< "$version_before" | |
| if [[ "$major" -ne "$major_b" ]] || [[ "$minor" -ne "$minor_b" ]]; then | |
| version_branch="$major_b.$minor_b" | |
| echo "release_branch=true" >> "$GITHUB_OUTPUT" | |
| echo "version_branch=$version_branch" >> "$GITHUB_OUTPUT" | |
| fi | |
| else | |
| echo "Version change not for branch release" | |
| fi | |
| - name: Create release using REST API | |
| if: steps.version-change.outputs.changed == 'true' | |
| run: | | |
| curl -L \ | |
| -X POST \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "Authorization: Bearer ${{ secrets.GH_ONF_BOT_PAT }}" \ | |
| -H "X-GitHub-Api-Version: 2022-11-28" \ | |
| https://api.github.com/repos/${{ github.repository }}/releases \ | |
| -d '{ | |
| "tag_name": "v${{ steps.version-change.outputs.version }}", | |
| "target_commitish": "${{ github.event.repository.default_branch }}", | |
| "name": "v${{ steps.version-change.outputs.version }}", | |
| "draft": false, | |
| "prerelease": false, | |
| "generate_release_notes": true | |
| }' | |
| release-image-gnb: | |
| runs-on: ubuntu-latest | |
| needs: tag-github | |
| if: needs.tag-github.outputs.changed == 'true' | |
| env: | |
| REGISTRY: docker.io | |
| DOCKER_REGISTRY: docker.io/ | |
| DOCKER_REPOSITORY: aetherproject/ | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: docker/login-action@v4.2.0 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Build and push release Docker image for gNB | |
| env: | |
| DOCKER_TARGETS: gnb | |
| DOCKER_TAG: rel-${{ needs.tag-github.outputs.version }} | |
| run: | | |
| make docker-build | |
| make docker-push | |
| release-image-ocudu: | |
| runs-on: ubuntu-latest | |
| needs: tag-github | |
| if: needs.tag-github.outputs.changed == 'true' | |
| env: | |
| REGISTRY: docker.io | |
| DOCKER_REGISTRY: docker.io/ | |
| DOCKER_REPOSITORY: aetherproject/ | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: docker/login-action@v4.2.0 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Build and push release Docker image for OCUDU-gNB | |
| env: | |
| DOCKER_TARGETS: ocudu | |
| DOCKER_TAG: rel-${{ needs.tag-github.outputs.version }} | |
| run: | | |
| make docker-build | |
| make docker-push | |
| release-image-ue: | |
| runs-on: ubuntu-latest | |
| needs: tag-github | |
| if: needs.tag-github.outputs.changed == 'true' | |
| env: | |
| REGISTRY: docker.io | |
| DOCKER_REGISTRY: docker.io/ | |
| DOCKER_REPOSITORY: aetherproject/ | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: docker/login-action@v4.2.0 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Build and push release Docker image for UE | |
| env: | |
| DOCKER_TARGETS: ue | |
| DOCKER_TAG: rel-${{ needs.tag-github.outputs.version }} | |
| run: | | |
| make docker-build | |
| make docker-push | |
| release-image-ueransim: | |
| runs-on: ubuntu-latest | |
| needs: tag-github | |
| if: needs.tag-github.outputs.changed == 'true' | |
| env: | |
| REGISTRY: docker.io | |
| DOCKER_REGISTRY: docker.io/ | |
| DOCKER_REPOSITORY: aetherproject/ | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: docker/login-action@v4.2.0 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Build and push release Docker image for UERANSIM | |
| env: | |
| DOCKER_TARGETS: ueransim | |
| DOCKER_TAG: rel-${{ needs.tag-github.outputs.version }} | |
| run: | | |
| make docker-build | |
| make docker-push | |
| update-version: | |
| runs-on: ubuntu-latest | |
| needs: tag-github | |
| if: needs.tag-github.outputs.changed == 'true' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Increment version | |
| env: | |
| RELEASE_VERSION: ${{ needs.tag-github.outputs.version }} | |
| run: | | |
| version="$RELEASE_VERSION" | |
| IFS='.' read -r major minor patch <<< "$version" | |
| patch_update=$((patch+1)) | |
| NEW_VERSION="$major.$minor.$patch_update-dev" | |
| echo "$NEW_VERSION" > VERSION | |
| echo "Updated version: $NEW_VERSION" | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@v8 | |
| with: | |
| token: ${{ secrets.GH_ONF_BOT_PAT }} | |
| commit-message: Update version | |
| committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
| signoff: true | |
| branch: version-update | |
| delete-branch: true | |
| title: Update version | |
| body: | | |
| Update VERSION file | |
| add-paths: | | |
| VERSION |