diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..e6d2612fb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + target-branch: dev + + - package-ecosystem: "docker" + directory: "/docker" + schedule: + interval: "daily" + target-branch: dev \ No newline at end of file diff --git a/.github/workflows/ghcr_cleanup.yml b/.github/workflows/ghcr_cleanup.yml new file mode 100644 index 000000000..01424128d --- /dev/null +++ b/.github/workflows/ghcr_cleanup.yml @@ -0,0 +1,36 @@ +on: + workflow_dispatch: + schedule: + - cron: "*/10 * * * *" + #- cron: "0 4 * * *" + +name: GHCR cleanup + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Delete untagged images + uses: actions/github-script@v3 + with: + github-token: ${{ secrets.CR_PAT }} + script: | + const response = await github.request("GET /${{ env.OWNER }}/packages/container/${{ env.PACKAGE_NAME }}/versions", + { per_page: ${{ env.PER_PAGE }} + }); + for(version of response.data) { + if (version.metadata.container.tags.length == 0) { + try { + console.log("delete " + version.id) + const deleteResponse = await github.request("DELETE /${{ env.OWNER }}/packages/container/${{ env.PACKAGE_NAME }}/versions/" + version.id, { }); + console.log("status " + deleteResponse.status) + } catch (e) { + console.log("failed") + } + } + } + env: + OWNER: user + PACKAGE_NAME: zigbee2mqtt + PER_PAGE: 2000 diff --git a/.github/workflows/update_deps.yml b/.github/workflows/update_deps.yml index 62c2a405b..1b61780a2 100644 --- a/.github/workflows/update_deps.yml +++ b/.github/workflows/update_deps.yml @@ -16,7 +16,7 @@ jobs: with: node-version: 16 - run: rm -rf npm-shrinkwrap.json - - run: npx npm-check-updates -u + - run: npx npm-check-updates -u -x connect-gzip-static # connect-gzip-static only supports node 16 - run: npm install && npm shrinkwrap --dev - uses: peter-evans/create-pull-request@v4 with: