Skip to content

Commit

Permalink
update actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ShotaKitazawa committed Sep 17, 2024
1 parent ceb2a91 commit b705921
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 81 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/gitops-prd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,88 @@ jobs:
pull_number: pr.data.number,
merge_method: "squash",
});
gitops-ecs:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v5

- name: Install jsonnet
run: |
go install github.com/google/go-jsonnet/cmd/jsonnet@latest
go install github.com/google/go-jsonnet/cmd/jsonnetfmt@latest
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}

- name: Checkout dreamkast-infra
uses: actions/checkout@v4
with:
repository: cloudnativedaysjp/dreamkast-infra
path: dreamkast-infra
token: ${{ steps.generate_token.outputs.token }}

- name: get tag name
id: get-tag-name
run: echo "tag-name=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT

- name: Update image-tags
working-directory: dreamkast-infra/ecspresso/prod
run: |
cat << _EOL_ | jsonnet - > ./const.libsonnet.tmp
local const = import './const.libsonnet';
const + {
imageTags: const.imageTags + {
dreamkast_ui: "${{ steps.get-tag-name.outputs.tag-name }}",
},
}
_EOL_
mv const.libsonnet.tmp const.libsonnet
jsonnetfmt -i const.libsonnet
- name: Commit files
id: commit_files
continue-on-error: true
working-directory: dreamkast-infra/
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git status
git add -A
git commit -am "Bump docker tag (${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/tag/${{ steps.get-tag-name.outputs.tag-name }})"
- name: Push changes
if: steps.commit_files.outcome == 'success'
uses: ad-m/github-push-action@master
with:
github_token: ${{ steps.generate_token.outputs.token }}
repository: cloudnativedaysjp/dreamkast-infra
directory: dreamkast-infra
branch: gitops/production/ui-main

- name: Create and Merge Pull Request
if: steps.commit_files.outcome == 'success'
uses: "actions/github-script@v7"
with:
github-token: ${{ steps.generate_token.outputs.token }}
script: |
const pr = await github.rest.pulls.create({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
title: "Automated PR (gitops/production/ui-main)",
body: "**this PR is automatically created & merged**",
head: "gitops/production/ui-main",
base: "main"
});
await github.rest.pulls.merge({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
pull_number: pr.data.number,
merge_method: "squash",
});
75 changes: 1 addition & 74 deletions .github/workflows/gitops-stg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,80 +6,7 @@ on:
- main

jobs:
gitops:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-1

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1

- name: Checkout dreamkast-infra
uses: actions/checkout@v3
with:
repository: cloudnativedaysjp/dreamkast-infra
path: dreamkast-infra
token: ${{ steps.generate_token.outputs.token }}

- name: Update Kubernetes resources
working-directory: dreamkast-infra/manifests/app/dreamkast/overlays/staging/main
run: |
kustomize edit set image dreamkast-ui=${{ steps.login-ecr.outputs.registry }}/dreamkast-ui:${{ github.sha }}
- name: Commit files
working-directory: dreamkast-infra/
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git status
git add -A
git commit -am "Bump docker tag (${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/commit/${GITHUB_SHA})"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ steps.generate_token.outputs.token }}
repository: cloudnativedaysjp/dreamkast-infra
directory: dreamkast-infra
branch: staging/ui-main

- name: Create and Merge Pull Request
uses: "actions/github-script@v6"
with:
github-token: ${{ steps.generate_token.outputs.token }}
script: |
const pr = await github.rest.pulls.create({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
title: "Automated PR (staging/ui-main)",
body: "**this PR is automatically created & merged**",
head: "staging/ui-main",
base: "main"
});
await github.rest.pulls.merge({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
pull_number: pr.data.number,
merge_method: "squash",
});
ecs:
gitops-ecs:
runs-on: ubuntu-latest
steps:
- name: Install Go
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/reviewapp-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
PREFIX: ui-
shell: bash -x {0}
shell: bash -xe {0}
run: |
EXPECTED="$(gh pr list --repo ${{ github.repository }} --label 'reviewapps' --json number --jq '.[].number' | sed 's/^\(.*\)$/'$PREFIX'\1/g')"
ACTUAL="$(ls | grep -E ^$PREFIX)"
# If present only in ACTUAL, cleanup
for act in $ACTUAL; do
EXIST=false
Expand All @@ -55,6 +56,7 @@ jobs:
bash -x $act/cleanup.sh
rm -rf $act
done
- name: Commit files
id: commit_files
continue-on-error: true
Expand All @@ -67,14 +69,20 @@ jobs:
git commit -a -F- <<EOM
cleanup ReviewApps by GHA in ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
EOM
- name: Set current unixtime as env variable
env:
TZ: 'Asia/Tokyo'
run: echo "UNIXTIME=$(date +'+%s')" >> $GITHUB_ENV

- name: Push changes
if: steps.commit_files.outcome == 'success'
uses: ad-m/github-push-action@master
with:
github_token: ${{ steps.generate_token.outputs.token }}
repository: cloudnativedaysjp/dreamkast-infra
directory: dreamkast-infra
branch: staging/ui-main
branch: gitops/development/ui-main_${{ env.UNIXTIME }}

- name: Create and Merge Pull Request
if: steps.commit_files.outcome == 'success'
Expand All @@ -85,9 +93,9 @@ jobs:
const pr = await github.rest.pulls.create({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
title: "Automated PR (staging/ui-main)",
title: "Automated PR (gitops/development/ui-main)",
body: "**this PR is automatically created & merged**",
head: "staging/ui-main",
head: "gitops/development/ui-main_${{ env.UNIXTIME }}",
base: "main"
});
await github.rest.pulls.merge({
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/reviewapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
github_token: ${{ steps.generate_token.outputs.token }}
repository: cloudnativedaysjp/dreamkast-infra
directory: dreamkast-infra
branch: staging/ui-main
branch: gitops/development/ui-main

- name: Create and Merge Pull Request
if: steps.commit_files.outcome == 'success'
Expand All @@ -110,9 +110,9 @@ jobs:
const pr = await github.rest.pulls.create({
owner: "cloudnativedaysjp",
repo: "dreamkast-infra",
title: "Automated PR (staging/ui-main)",
title: "Automated PR (gitops/development/ui-main)",
body: "**this PR is automatically created & merged**",
head: "staging/ui-main",
head: "gitops/development/ui-main",
base: "main"
});
await github.rest.pulls.merge({
Expand Down

0 comments on commit b705921

Please sign in to comment.