Check ecr-token new release #136
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: Check ecr-token new release | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * *' | |
jobs: | |
check-and-release: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: write | |
id-token: write | |
attestations: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Get current tag | |
id: current_release | |
run: | | |
# awscli_release | |
awscli_current_release=$(grep "ARG AWSCLI_VERSION" Dockerfile | cut -d '=' -f 2) | |
echo "awscli_current_release=$awscli_current_release" >> $GITHUB_OUTPUT | |
# kubectl_release | |
kubectl_current_release=$(grep "ARG KUBECTL_VERSION" Dockerfile | cut -d '=' -f 2) | |
echo "kubectl_current_release=$kubectl_current_release" >> $GITHUB_OUTPUT | |
- name: Install updatecli | |
uses: updatecli/updatecli-action@v2 | |
- name: Update dependencies | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT_GITHUB }} | |
run: | | |
updatecli apply --config .github/updatecli/dependencies.yaml --commit=false | |
- name: Get latest tag | |
id: latest_release | |
run: | | |
# awscli_release | |
awscli_latest_release=$(grep "ARG AWSCLI_VERSION" Dockerfile | cut -d '=' -f 2) | |
echo "awscli_latest_release=$awscli_latest_release" >> $GITHUB_OUTPUT | |
# kubectl_release | |
kubectl_latest_release=$(grep "ARG KUBECTL_VERSION" Dockerfile | cut -d '=' -f 2) | |
echo "kubectl_latest_release=$kubectl_latest_release" >> $GITHUB_OUTPUT | |
# complete_tag | |
echo "complete_release=awscli$awscli_latest_release-kubectl$kubectl_latest_release" >> $GITHUB_OUTPUT | |
- name: Check if exists changes | |
id: check_changes | |
env: | |
awscli_current_release: ${{ steps.current_release.outputs.awscli_current_release }} | |
awscli_latest_release: ${{ steps.latest_release.outputs.awscli_latest_release }} | |
kubectl_current_release: ${{ steps.current_release.outputs.kubectl_current_release }} | |
kubectl_latest_release: ${{ steps.latest_release.outputs.kubectl_latest_release }} | |
run: | | |
# awscli | |
if [ "$awscli_current_release" != "$awscli_latest_release" ]; then | |
body+="AWS CLI version:\n" | |
body+=" - :information_source: Current: \`$awscli_current_release\`\n" | |
body+=" - :up: Upgrade: \`$awscli_latest_release\`\n" | |
body+=" - Changelog: https://github.com/aws/aws-cli/releases/tag/$awscli_latest_release\n\n" | |
echo "release_changed=true" >> $GITHUB_OUTPUT | |
fi | |
# kubectl | |
if [ "$kubectl_current_release" != "$kubectl_latest_release" ]; then | |
body+="Kubectl version:\n" | |
body+=" - :information_source: Current: \`$kubectl_current_release\`\n" | |
body+=" - :up: Upgrade: \`$kubectl_latest_release\`\n" | |
body+=" - Changelog: https://github.com/kubernetes/kubectl/releases/tag/v$kubectl_latest_release\n\n" | |
echo "release_changed=true" >> $GITHUB_OUTPUT | |
fi | |
echo -e "$body" > pr-output.log | |
- name: Create PR changes | |
if: steps.check_changes.outputs.release_changed == 'true' | |
uses: peter-evans/create-pull-request@v7 | |
with: | |
token: ${{ secrets.PAT_GITHUB }} | |
commit-message: "feat: new ecr-token version ${{ steps.latest_release.outputs.complete_release }}" | |
signoff: false | |
branch: feat/upgrade-ecr-token-${{ steps.latest_release.outputs.complete_release }} | |
delete-branch: true | |
title: '[ecr-token] new release: ${{ steps.latest_release.outputs.complete_release }}' | |
body-path: pr-output.log | |
labels: | | |
auto-pr-bump-version |