diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 197f283..35be3a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -133,9 +133,6 @@ jobs: with: webhook: ${{ secrets.DISCORD_WEBHOOK }} - outputs: - digest: ${{ steps.build-and-push.outputs.digest }} - deploy: if: (github.event_name != 'pull_request') && !startsWith(github.ref, 'refs/heads/renovate') needs: build @@ -149,22 +146,26 @@ jobs: with: repository: Japan7/nanak8s token: ${{ secrets.NANAK8S_PAT }} - - name: Checkout repository .github - uses: actions/checkout@v4 - with: - path: nanapi - sparse-checkout: | - .github - name: Set deploy environment id: deploy_env - run: nanapi/.github/workflows/deploy_env.py ${{ needs.build.outputs.digest }} + run: | + if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then + echo "::set-output name=name::prod" + echo "::set-output name=tag::${GITHUB_REF#refs/tags/}" + elif [[ "$GITHUB_REF" == "refs/heads/${MAIN_BRANCH}" ]]; then + echo "::set-output name=name::staging" + echo "::set-output name=tag::sha-${GITHUB_SHA::7}" + else + echo "::set-output name=name::dev" + echo "::set-output name=tag::sha-${GITHUB_SHA::7}" + fi - name: Update nanak8s run: | yq e -i '(.environments.${{ steps.deploy_env.outputs.name }}.values[] | select(has("tag"))).tag = "${{ steps.deploy_env.outputs.tag }}"' apps/nanapi/environments.yaml git add apps/nanapi/environments.yaml git config user.name 'github-actions[bot]' git config user.email 'github-actions[bot]@users.noreply.github.com' - git commit -m "[CI] Update nanapi-${{ steps.deploy_env.outputs.name }} to ${{ steps.deploy_env.outputs.pretty }}" -m "https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA" + git commit -m "[CI] Update nanapi-${{ steps.deploy_env.outputs.name }} to ${{ steps.deploy_env.outputs.tag }}" -m "https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA" git push - uses: sarisia/actions-status-discord@v1 if: failure() diff --git a/.github/workflows/deploy_env.py b/.github/workflows/deploy_env.py deleted file mode 100755 index e6b7bc6..0000000 --- a/.github/workflows/deploy_env.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python3 -import os -import sys - -ref = os.environ['GITHUB_REF'] -ref_name = os.environ['GITHUB_REF_NAME'] -main_branch = os.environ['MAIN_BRANCH'] - -digest = sys.argv[1] -sha = os.environ['GITHUB_SHA'] - -if ref.startswith('refs/tags/'): - name = 'prod' - tag = f'latest@{digest}' - pretty = f'tag {ref_name}' -else: - name = 'staging' if ref_name == main_branch else 'dev' - tag = f'{ref_name}@{digest}' - pretty = f'{ref_name}@{sha[:7]}' - -print(f'::set-output name=name::{name}') -print(f'::set-output name=tag::{tag}') -print(f'::set-output name=pretty::{pretty}')