name: Main Deploy Workflow on: push: branches: - main env: WEB_APP_ENV: ${{ vars.WEB_APP_ENV }} jobs: build_web: runs-on: ubuntu-latest environment: staging steps: - uses: actions/checkout@v2 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} cache: true - name: Install dependencies run: sudo apt-get update && sudo apt-get install nodejs -y - run: flutter pub get - name: Prepare web run: ./scripts/prepare-web.sh - name: Build Release Web run: ./scripts/build-web.sh - name: Upload files uses: actions/upload-artifact@v3 with: name: web path: build/web deploy_web: runs-on: ubuntu-latest needs: build_web environment: staging steps: - name: Download web uses: actions/download-artifact@v3 with: name: web path: build/web - name: Update Website files run: | mv build/web public touch public/.env echo "$WEB_APP_ENV" >> public/.env cp public/.env public/assets/.env - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} publish_dir: ./public publish_branch: gh-pages cname: app.staging.pangea.chat update_sentry: runs-on: ubuntu-latest needs: build_web environment: staging env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_BASE_TOKEN: ${{ secrets.SENTRY_BASE_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} CI_COMMIT_SHA: ${{ github.sha }} steps: - uses: actions/checkout@v2 - name: Download web uses: actions/download-artifact@v3 with: name: web path: build/web - name: Install sentry CLI run: | curl -sL https://sentry.io/get-cli/ | bash - name: Update sentry run: ./scripts/upload-sentry.sh