name: Deploy permissions: id-token: write contents: read concurrency: group: prod cancel-in-progress: true on: push: branches: [prod] jobs: deploy: runs-on: ubuntu-latest environment: prod steps: - uses: actions/checkout@v3 - name: Configure Node uses: actions/setup-node@v3 with: node-version: '18.x' cache: 'npm' - name: Install packages run: npm install -g serverless - name: Install serverless-wsgi run: serverless plugin install -n serverless-wsgi - name: Install serverless-python-requirements run: serverless plugin install -n serverless-python-requirements - name: Install serverless-plugin-common-excludes run: serverless plugin install -n serverless-plugin-common-excludes - name: Install serverless-plugin-include-dependencies run: serverless plugin install -n serverless-plugin-include-dependencies - name: Install QEMU for ARM builds run: docker run --privileged --rm tonistiigi/binfmt --install all - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.12" - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 with: role-to-assume: arn:aws:iam::001057775987:role/GithubActionsOIDC-vxtwitter-Role-ZYPHWRSFIP80 role-duration-seconds: 900 aws-region: us-east-1 - name: Deploy run: serverless deploy --verbose env: VXTWITTER_LINK_CACHE: ${{ secrets.VXTWITTER_LINK_CACHE }} VXTWITTER_DATABASE: ${{ secrets.VXTWITTER_DATABASE }} VXTWITTER_METHOD: ${{ secrets.VXTWITTER_METHOD }} VXTWITTER_COLOR: ${{ secrets.VXTWITTER_COLOR }} VXTWITTER_APP_NAME: ${{ secrets.VXTWITTER_APP_NAME }} VXTWITTER_REPO: ${{ secrets.VXTWITTER_REPO }} VXTWITTER_URL: ${{ secrets.VXTWITTER_URL }} VXTWITTER_COMBINATION_METHOD: ${{ secrets.VXTWITTER_COMBINATION_METHOD }} VXTWITTER_GIF_CONVERT_API: ${{ secrets.VXTWITTER_GIF_CONVERT_API }} VXTWITTER_WORKAROUND_TOKENS: ${{ secrets.VXTWITTER_WORKAROUND_TOKENS }} VXTWITTER_PROXIES: ${{ secrets.VXTWITTER_PROXIES }} SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}