From 104cff46fa50e53c09fe78551214234308287700 Mon Sep 17 00:00:00 2001 From: j75689 Date: Wed, 18 Oct 2023 12:34:07 +0800 Subject: [PATCH] ci: add docker-release.yml --- .github/workflows/deploy-release.yml | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/deploy-release.yml diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml new file mode 100644 index 00000000..9942a980 --- /dev/null +++ b/.github/workflows/deploy-release.yml @@ -0,0 +1,68 @@ +name: Release + +on: + release: + types: [published] + +jobs: + release: + runs-on: ubuntu-latest + name: Deploy release + env: + ARCHIVE_NAME: ${{ github.event.repository.name }}-${{ github.event.release.tag_name }} + steps: + - uses: actions/checkout@v3 + + - uses: ./.github/workflows/yarn + + - uses: ./.github/workflows/build + with: + secrets: ${{ toJSON(secrets) }} + prod: ${{ true }} + + - name: Create archive + run: tar -czf "$ARCHIVE_NAME".tar.gz out + + - name: Create checksum + run: sha256sum "$ARCHIVE_NAME".tar.gz > ${{ env.ARCHIVE_NAME }}-sha256-checksum.txt + + - name: Upload archive + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ${{ env.ARCHIVE_NAME }}.tar.gz + asset_name: ${{ env.ARCHIVE_NAME }}.tar.gz + asset_content_type: application/gzip + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Upload checksum + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ${{ env.ARCHIVE_NAME }}-sha256-checksum.txt + asset_name: ${{ env.ARCHIVE_NAME }}-sha256-checksum.txt + asset_content_type: text/plain + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + + # Script to upload release files + - name: 'Upload release build files for production' + env: + BUCKET: s3://${{ secrets.AWS_STAGING_BUCKET_NAME }}/releases/${{ github.event.release.tag_name }} + CHECKSUM_FILE: ${{ env.ARCHIVE_NAME }}-sha256-checksum.txt + run: bash ./scripts/github/s3_upload.sh + + # Script to prepare production deployments + - run: bash ./scripts/github/prepare_production_deployment.sh + env: + PROD_DEPLOYMENT_HOOK_TOKEN: ${{ secrets.PROD_DEPLOYMENT_HOOK_TOKEN }} + PROD_DEPLOYMENT_HOOK_URL: ${{ secrets.PROD_DEPLOYMENT_HOOK_URL }} + VERSION_TAG: ${{ github.event.release.tag_name }} \ No newline at end of file