From c705d26acef0cfe98c05723474bae115b984d4cf Mon Sep 17 00:00:00 2001 From: zizifn <1803942+zizifn@users.noreply.github.com> Date: Fri, 8 Apr 2022 22:38:31 +0800 Subject: [PATCH] enable region --- .github/workflows/main.yml | 68 ++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4a10443..94fba71 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,45 +18,46 @@ on: default: "" jobs: - jobenv: - runs-on: ubuntu-latest - environment: ${{ github.event.inputs.env }} - env: # Or as an environment variable - APP_NAME: ${{ secrets.APP_NAME }} - outputs: - actions: ${{ github.event.inputs.actions || 'deploy'}} - herokuAppName: ${{ github.event.inputs.heroku-app-name }} - test111: ${{ github.event.inputs.env }} # todo - steps: - - id: herokuAppName # TODO check atcion doc for usage - # if: ${{ github.event.inputs.actions == 'start'}} - # run: echo "::set-output name=name::${{ github.event.inputs.heroku-app-name || secrets.APP_NAME }}" - run: echo ::set-output name=name::${{ github.event.inputs.heroku-app-name }} - - id: isDeployHeroku # TODO check atcion doc for usage - # if: ${{ github.event.inputs.actions == 'start'}} - run: echo "::set-output name=action::false" - output-jobenv: - runs-on: ubuntu-latest - needs: jobenv - steps: - # - id: test-env - # if: ${{ env.test-env }} - # run: echo needs.jobenv.outputs.herokuAppName is ${{needs.jobenv.outputs.herokuAppName}} - - run: echo test111 is ${{needs.jobenv.outputs.test111}} - # - run: echo ${{needs.jobenv.outputs.herokuAppName}} | sed 's/./& /g' + # jobenv: + # runs-on: ubuntu-latest + # environment: ${{ github.event.inputs.env }} + # env: # Or as an environment variable + # APP_NAME: ${{ secrets.APP_NAME }} + # outputs: + # actions: ${{ github.event.inputs.actions || 'deploy'}} + # herokuAppName: ${{ github.event.inputs.heroku-app-name }} + # test111: ${{ github.event.inputs.env }} # todo + # steps: + # - id: herokuAppName # TODO check atcion doc for usage + # # if: ${{ github.event.inputs.actions == 'start'}} + # # run: echo "::set-output name=name::${{ github.event.inputs.heroku-app-name || secrets.APP_NAME }}" + # run: echo ::set-output name=name::${{ github.event.inputs.heroku-app-name }} + # - id: isDeployHeroku # TODO check atcion doc for usage + # # if: ${{ github.event.inputs.actions == 'start'}} + # run: echo "::set-output name=action::false" + # output-jobenv: + # runs-on: ubuntu-latest + # needs: jobenv + # steps: + # # - id: test-env + # # if: ${{ env.test-env }} + # # run: echo needs.jobenv.outputs.herokuAppName is ${{needs.jobenv.outputs.herokuAppName}} + # - run: echo test111 is ${{needs.jobenv.outputs.test111}} + # # - run: echo ${{needs.jobenv.outputs.herokuAppName}} | sed 's/./& /g' heroku-deploy: - needs: jobenv if: ${{ needs.jobenv.outputs.actions == 'deploy' || needs.jobenv.outputs.actions == ''}} runs-on: ubuntu-latest environment: ${{ github.event.inputs.env }} + env: # Or as an environment variable + APP_NAME: ${{ github.event.inputs.heroku-app-name || secrets.APP_NAME }} steps: - uses: actions/checkout@v2 - uses: akhileshns/heroku-deploy@v3.12.12 # This is the action with: heroku_api_key: ${{secrets.HEROKU_API_KEY}} - heroku_app_name: ${{needs.jobenv.outputs.herokuAppName}} #Must be unique in Heroku + heroku_app_name: ${{ env.APP_NAME }} #Must be unique in Heroku heroku_email: ${{secrets.EMAIL}} usedocker: true region: ${{github.event.inputs.heroku-region || 'us'}} @@ -69,10 +70,11 @@ jobs: NODE_ENV: production SECRET_KEY: ${{ secrets.MY_SECRET_KEY }} stop-start-destroy: - needs: jobenv if: ${{ needs.jobenv.outputs.actions == 'start' || needs.jobenv.outputs.actions == 'stop' || needs.jobenv.outputs.actions == 'destroy' }} runs-on: ubuntu-latest environment: ${{ github.event.inputs.env }} + env: # Or as an environment variable + APP_NAME: ${{ github.event.inputs.heroku-app-name || secrets.APP_NAME }} steps: - uses: actions/checkout@v2 - uses: akhileshns/heroku-deploy@v3.7.8 # This is the action @@ -82,7 +84,7 @@ jobs: justlogin: true - run: | echo action is ${{ needs.jobenv.outputs.actions }} - if [[ ${{ needs.jobenv.outputs.actions }} == 'stop' ]]; then heroku ps:scale web=0 -a ${{needs.jobenv.outputs.herokuAppName}} && echo "stop"; fi - if [[ ${{ needs.jobenv.outputs.actions }} == 'start' ]]; then heroku ps:scale web=1 -a ${{needs.jobenv.outputs.herokuAppName}} && echo "start"; fi - heroku ps -a ${{needs.jobenv.outputs.herokuAppName}} - if [[ ${{ needs.jobenv.outputs.actions }} == 'destroy' ]]; then heroku apps:destroy -a ${{needs.jobenv.outputs.herokuAppName}} --confirm ${{needs.jobenv.outputs.herokuAppName}} && echo "destroy app"; fi + if [[ ${{ needs.jobenv.outputs.actions }} == 'stop' ]]; then heroku ps:scale web=0 -a ${{env.APP_NAME}} && echo "stop"; fi + if [[ ${{ needs.jobenv.outputs.actions }} == 'start' ]]; then heroku ps:scale web=1 -a ${{env.APP_NAME}} && echo "start"; fi + heroku ps -a ${{env.APP_NAME}} + if [[ ${{ needs.jobenv.outputs.actions }} == 'destroy' ]]; then heroku apps:destroy -a ${{env.APP_NAME}} --confirm ${{env.APP_NAME}} && echo "destroy app"; fi