diff --git a/.github/workflows/deco-deploy.yaml b/.github/workflows/deco-deploy.yaml new file mode 100644 index 00000000..1c4b23cb --- /dev/null +++ b/.github/workflows/deco-deploy.yaml @@ -0,0 +1,54 @@ +name: Deploy + +concurrency: + group: environment-${{ github.head_ref || github.ref }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + set_vars: + runs-on: ubuntu-latest + outputs: + site_matrix: ${{ steps.set_vars.outputs.site_matrix }} + steps: + - name: Set site matrix + id: set_vars + shell: bash + run: | + if [ -z ${{ vars.SITES }} ]; then + echo "site_matrix={site: [\"${{ github.event.repository.name }}\"] }" >> $GITHUB_OUTPUT + else + echo "site_matrix={site: ${{ vars.SITES }} }" >> $GITHUB_OUTPUT + fi + deploy: + needs: set_vars + strategy: + matrix: ${{ fromJson(needs.set_vars.outputs.site_matrix) }} + name: Deploy + runs-on: ubuntu-latest + + permissions: + id-token: write # Needed for auth with Deno Deploy + contents: read # Needed to clone the repository + + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Deco Deploy + id: decoDeployStep + continue-on-error: true + uses: deco-cx/deploy@v0 + with: + site: ${{ matrix.site }} + + - name: Retry Deco Deploy + id: decoDeployRetryStep + if: steps.decoDeployStep.outcome == 'failure' + uses: deco-cx/deploy@v0 + with: + site: ${{ matrix.site }} \ No newline at end of file diff --git a/deno.json b/deno.json index fa95f336..31e2733d 100644 --- a/deno.json +++ b/deno.json @@ -3,7 +3,7 @@ "$store/": "./", "deco/": "https://denopkg.com/deco-cx/deco@1.44.1/", "apps/": "https://denopkg.com/deco-cx/apps@0.17.2/", - "$fresh/": "https://denopkg.com/deco-cx/fresh@1.4.4/", + "$fresh/": "https://deno.land/x/fresh@1.5.2/", "preact": "https://esm.sh/preact@10.15.1", "preact/": "https://esm.sh/preact@10.15.1/", "preact-render-to-string": "https://esm.sh/*preact-render-to-string@6.2.1",