Skip to content

Commit 522389c

Browse files
authored
Setup staging auto deploy #5725
Setup staging auto deploy
2 parents 55d56fa + ed1f790 commit 522389c

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

.github/workflows/oursky.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,45 @@ jobs:
9797
ssh-agent -k
9898
echo "SSH_AUTH_SOCK=" >> "$GITHUB_ENV"
9999
echo "SSH_AGENT_PID=" >> "$GITHUB_ENV"
100+
101+
deploy-staging:
102+
runs-on: [self-hosted, linux, x64, v1]
103+
needs: [authgear-image-custom, portal-image-custom]
104+
if: ${{ github.repository == 'oursky/authgear-server' && github.ref == 'refs/heads/main' }}
105+
concurrency:
106+
group: deploy-staging
107+
cancel-in-progress: true
108+
steps:
109+
- uses: actions/checkout@v4
110+
- name: Set up staging deploy key
111+
env:
112+
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
113+
AUTHGEAR_STAGING_DEPLOY_KEY: ${{ secrets.AUTHGEAR_STAGING_DEPLOY_KEY }}
114+
run: |
115+
mkdir -p ~/.ssh
116+
eval $(ssh-agent -a $SSH_AUTH_SOCK)
117+
printf "$AUTHGEAR_STAGING_DEPLOY_KEY" | base64 --decode | ssh-add -
118+
ssh-keyscan github.com >> ~/.ssh/known_hosts
119+
echo "SSH_AUTH_SOCK=$SSH_AUTH_SOCK" >> "$GITHUB_ENV"
120+
echo "SSH_AGENT_PID=$SSH_AGENT_PID" >> "$GITHUB_ENV"
121+
122+
- name: Clone staging repo and update image
123+
env:
124+
AUTHGEAR_STAGING_REPO: ${{ secrets.AUTHGEAR_STAGING_REPO }}
125+
run: |
126+
IMAGE_TAG=$(make -C custombuild --no-print-directory --eval='print-%: ; @echo $($*)' print-GIT_HASH)
127+
git clone "$AUTHGEAR_STAGING_REPO" staging-repo
128+
cd staging-repo
129+
git checkout master
130+
git config user.email "github-actions[bot]@users.noreply.github.com"
131+
git config user.name "github-actions[bot]"
132+
./scripts/update-authgear-image.sh "$IMAGE_TAG"
133+
git push origin master
134+
135+
- name: Clean up staging deploy key
136+
if: ${{ always() }}
137+
run: |
138+
ssh-add -D
139+
ssh-agent -k
140+
echo "SSH_AUTH_SOCK=" >> "$GITHUB_ENV"
141+
echo "SSH_AGENT_PID=" >> "$GITHUB_ENV"

0 commit comments

Comments
 (0)