From 5be7c1e1341e8243d678176db5d03ae4bcbd9fe0 Mon Sep 17 00:00:00 2001 From: "S. Ali Mihandoost" Date: Tue, 7 Nov 2023 14:50:01 +0330 Subject: [PATCH 01/21] Initial commit --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1449437 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Alwatr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 15d8bbb70b25511ee392ca964b2d90eafb930fae Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" Date: Tue, 7 Nov 2023 15:43:53 +0330 Subject: [PATCH 02/21] feat: add base repo --- .github/CODEOWNERS | 1 + .github/ISSUE_TEMPLATE/1-bug-report.md | 44 ++++++++++ .github/ISSUE_TEMPLATE/2-feature-request.md | 23 ++++++ .github/ISSUE_TEMPLATE/config.yml | 9 +++ .github/labels.yml | 90 +++++++++++++++++++++ .github/pull_request_template.md | 3 + .github/workflows/sync-labels.yml | 30 +++++++ .vscode/settings.json | 5 ++ 8 files changed, 205 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/labels.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/sync-labels.yml create mode 100644 .vscode/settings.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..bb170df --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @AliMD diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md new file mode 100644 index 0000000..79d6003 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug-report.md @@ -0,0 +1,44 @@ +--- +name: ๐Ÿž Bug report +about: File a bug/issue +title: '[BUG] ' +labels: 'bug-report' +assignees: 'njfamirm' +--- + +<!-- +Note: Please search to see if an issue already exists for the bug you encountered. +--> + +### Current Behavior + +<!-- A concise description of what you're experiencing. --> + +### Expected Behavior + +<!-- A concise description of what you expected to happen. --> + +### Steps To Reproduce + +<!-- +Example: steps to reproduce the behavior: +1. In this environment... +1. With this config... +1. Run '...' +1. See error... +--> + +### Environment + +<!-- +Example: +- OS: Ubuntu 20.04 +- Node: 13.14.0 +- npm: 7.6.3 +--> + +### Anything else + +<!-- +Links? References? Anything that will give us more context about the issue that you are encountering! +--> diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.md b/.github/ISSUE_TEMPLATE/2-feature-request.md new file mode 100644 index 0000000..0a387f5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-feature-request.md @@ -0,0 +1,23 @@ +--- +name: '๐Ÿ’ก Feature request' +about: 'Request new features or options. Please search for existing issues first. Also see CONTRIBUTING.' +title: '[FR] <title>' +labels: 'feature-request' +assignees: 'njfamirm' +--- + +## Please Describe The Problem To Be Solved + +<!-- Please present a concise description of the problem to be addressed by this feature request. Please be clear what parts of the problem are considered to be in-scope and out-of-scope. --> + +## Suggest A Solution (Optional) + +<!-- +A concise description of your preferred solution. Things to address include: + + * Details of the technical implementation + * Tradeoffs made in design decisions + * Caveats and considerations for the future + +If there are multiple solutions, please present each one separately. Save comparisons for the very end.) +--> diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..fb027d7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,9 @@ +blank_issues_enabled: true +contact_links: + - name: Discussions + url: https://github.com/AliMD/alwatr/discussions + about: Please ask and answer questions here. + + - name: Contact up + url: 'https://t.me/AlwatrSupport' + about: Direct contact to Alwatr support team at Telegram. diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..ec05331 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,90 @@ +- name: 'bug-report' + color: ee0811 + description: 'Inconsistencies or issues which will cause a problem for users or implementors.' +- name: 'feature-request' + color: 0e9a26 + description: 'Request new features or options.' + +- name: 'breaking-change' + color: ee0701 + description: 'A change that changes the API or breaks backward compatibility for users.' +- name: 'bugfix' + color: ee0701 + description: 'Inconsistencies or issues which will cause a problem for users or implementors.' +- name: 'documentation' + color: 0052cc + description: 'Solely about the documentation of the project.' +- name: 'enhancement' + color: 1d76db + description: 'Enhancement of the code, not introducing new features.' +- name: 'refactor' + color: 1d76db + description: 'Updating the code with simpler, easier to understand or more efficient syntax or methods.' +- name: 'performance' + color: 1d76db + description: 'Improving performance of the project, not introducing new features.' +- name: 'new-feature' + color: 0e8a16 + description: 'New features or options.' +- name: 'maintenance' + color: 2af79e + description: 'Generic maintenance tasks.' +- name: 'ci' + color: 1d76db + description: 'Work that improves the continuous integration.' +- name: 'dependencies' + color: 1d76db + description: 'Change in project dependencies.' + +- name: 'in-progress' + color: fbca04 + description: 'Issue is currently being worked on by a developer.' +- name: 'stale' + color: fef2c0 + description: 'No activity for quite some time.' +- name: 'no-stale' + color: fef2c0 + description: 'This is exempt from the stale bot.' +- name: 'auto-closed' + color: fef2c0 + description: 'No activity for quite some time.' + +- name: 'security' + color: ee0701 + description: 'Addressing a vulnerability or security risk in this project.' +- name: 'incomplete' + color: fef2c0 + description: 'Missing information.' +- name: 'invalid' + color: fef2c0 + description: "This is off-topic, spam, or otherwise doesn't apply to this project." + +- name: 'good first issue' + color: 0e8a16 + description: 'Good first issue for people wanting to contribute to this project.' +- name: 'help-wanted' + color: 0e8a16 + description: 'We need some extra helping hands or expertise in order to resolve this!' + +- name: 'priority-critical' + color: ee0701 + description: 'Must be addressed as soon as possible.' +- name: 'priority-high' + color: b60205 + description: 'After critical issues are fixed, these should be dealt with before any further issues.' +- name: 'priority-medium' + color: 0e8a16 + description: 'This issue may be useful, and needs some attention.' +- name: 'priority-low' + color: e4ea8a + description: 'Nice addition, maybe... someday...' + +- name: 'major' + color: b60205 + description: 'This PR causes a major bump in the version number.' +- name: 'minor' + color: 0e8a16 + description: 'This PR causes a minor bump in the version number.' +- name: 'release' + color: 5319E7 + description: 'Release PR from next to main.' diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..ab55d8b --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,3 @@ +## Description + +<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. --> diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml new file mode 100644 index 0000000..62aa78b --- /dev/null +++ b/.github/workflows/sync-labels.yml @@ -0,0 +1,30 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json + +name: Sync labels + +on: + workflow_dispatch: + push: + branches: + - main + - next + paths: + - .github/labels.yml + +jobs: + labels: + name: Sync labels + runs-on: ubuntu-latest + + permissions: + contents: read + issues: write + + steps: + - name: โคต๏ธ Check out code from GitHub + uses: actions/checkout@v4.1.0 + + - name: ๐Ÿš€ Run Label Syncer + uses: micnncim/action-label-syncer@v1.3.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..27e093d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "alwatr" + ] +} \ No newline at end of file From f517f5c767a342d6064b77627a6bbea176a91c89 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 15:44:20 +0330 Subject: [PATCH 03/21] feat: dependabot config --- .github/dependabot.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..fc51e05 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + open-pull-requests-limit: 20 + reviewers: + - AliMD + schedule: + interval: daily + labels: + - ci + - priority-low + - maintenance + groups: + github-actions: + patterns: + - '*' + - package-ecosystem: docker + directory: / + open-pull-requests-limit: 20 + reviewers: + - AliMD + schedule: + interval: daily + labels: + - ci + - priority-low + - maintenance + # groups: + # github-actions: + # patterns: + # - '*' \ No newline at end of file From adcf399aa41f92ec95306219f34f5adab13204c3 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 15:53:17 +0330 Subject: [PATCH 04/21] chore: cleanup --- .github/ISSUE_TEMPLATE/1-bug-report.md | 44 --------------------- .github/ISSUE_TEMPLATE/2-feature-request.md | 23 ----------- .github/ISSUE_TEMPLATE/config.yml | 9 ----- 3 files changed, 76 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.md delete mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.md delete mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md deleted file mode 100644 index 79d6003..0000000 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: ๐Ÿž Bug report -about: File a bug/issue -title: '[BUG] <title>' -labels: 'bug-report' -assignees: 'njfamirm' ---- - -<!-- -Note: Please search to see if an issue already exists for the bug you encountered. ---> - -### Current Behavior - -<!-- A concise description of what you're experiencing. --> - -### Expected Behavior - -<!-- A concise description of what you expected to happen. --> - -### Steps To Reproduce - -<!-- -Example: steps to reproduce the behavior: -1. In this environment... -1. With this config... -1. Run '...' -1. See error... ---> - -### Environment - -<!-- -Example: -- OS: Ubuntu 20.04 -- Node: 13.14.0 -- npm: 7.6.3 ---> - -### Anything else - -<!-- -Links? References? Anything that will give us more context about the issue that you are encountering! ---> diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.md b/.github/ISSUE_TEMPLATE/2-feature-request.md deleted file mode 100644 index 0a387f5..0000000 --- a/.github/ISSUE_TEMPLATE/2-feature-request.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -name: '๐Ÿ’ก Feature request' -about: 'Request new features or options. Please search for existing issues first. Also see CONTRIBUTING.' -title: '[FR] <title>' -labels: 'feature-request' -assignees: 'njfamirm' ---- - -## Please Describe The Problem To Be Solved - -<!-- Please present a concise description of the problem to be addressed by this feature request. Please be clear what parts of the problem are considered to be in-scope and out-of-scope. --> - -## Suggest A Solution (Optional) - -<!-- -A concise description of your preferred solution. Things to address include: - - * Details of the technical implementation - * Tradeoffs made in design decisions - * Caveats and considerations for the future - -If there are multiple solutions, please present each one separately. Save comparisons for the very end.) ---> diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index fb027d7..0000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,9 +0,0 @@ -blank_issues_enabled: true -contact_links: - - name: Discussions - url: https://github.com/AliMD/alwatr/discussions - about: Please ask and answer questions here. - - - name: Contact up - url: 'https://t.me/AlwatrSupport' - about: Direct contact to Alwatr support team at Telegram. From bfe82c20968449ca9c23985f37b5172ae564de04 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 16:58:04 +0330 Subject: [PATCH 05/21] feat(workflow): publish container --- .github/workflows/publish-container.yml | 86 +++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/publish-container.yml diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml new file mode 100644 index 0000000..5ef4353 --- /dev/null +++ b/.github/workflows/publish-container.yml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json + +name: Build & Publish Containers + +on: + workflow_dispatch: + + push: + branches: + - main + + pull_request: + +env: + REGISTRY: ghcr.io + +jobs: + build: + if: github.repository_owner == 'Alwatr' + + name: Build & Publish Containers + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + include: + - name: alpine + version: + short: 3 + full: 3.17 + + permissions: + contents: read + packages: write + # This is used to complete the identity challenge + # with sigstore/fulcio when running outside of PRs. + id-token: write + + steps: + - name: โคต๏ธ Checkout repository + uses: actions/checkout@v4.0.0 + + - name: ๐Ÿ— Extract Docker metadata + id: meta + uses: docker/metadata-action@v5.0.0 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + images: | + name=${{env.REGISTRY}}/${{github.repository_owner}}/${{matrix.name}},enable=true + + tags: | + type=raw,value=${{matrix.version.short}} + type=raw,value=${{matrix.version.full}} + + - name: ๐Ÿ— Install cosign + if: ${{ github.event_name != 'pull_request' }} + uses: sigstore/cosign-installer@v3.1.2 + + - name: ๐Ÿ— Setup Docker Buildx + uses: docker/setup-buildx-action@v3.0.0 + + - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} + if: ${{ github.event_name != 'pull_request' }} + uses: docker/login-action@v3.0.0 + with: + registry: ${{env.REGISTRY}} + username: ${{github.repository_owner}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: ๐Ÿš€ Build and push container image + id: build-and-push + uses: docker/build-push-action@v5.0.0 + with: + context: ${{matrix.name}} + push: ${{github.event_name != 'pull_request'}} + tags: ${{steps.meta.outputs.tags}} + labels: ${{steps.meta.outputs.labels}} + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: ๐Ÿ— Sign the published container image + if: ${{github.event_name != 'pull_request'}} + env: + COSIGN_EXPERIMENTAL: 'true' + run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} From d7759eb4b9f33b45161fdef2448545fa2ce1e3bd Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:27:31 +0330 Subject: [PATCH 06/21] feat(workflow): publish check file changes --- .github/workflows/publish-container.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 5ef4353..cc055dc 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -41,7 +41,16 @@ jobs: - name: โคต๏ธ Checkout repository uses: actions/checkout@v4.0.0 + - name: ๏ผŸ Check file changes + id: file_changes + uses: dorny/paths-filter@v2.11.1 + with: + filters: | + dockerfile: + ${{ matrix.name }}/* + - name: ๐Ÿ— Extract Docker metadata + if: ${{ steps.file_changes.outputs.dockerfile == 'true' }} id: meta uses: docker/metadata-action@v5.0.0 with: @@ -54,14 +63,20 @@ jobs: type=raw,value=${{matrix.version.full}} - name: ๐Ÿ— Install cosign - if: ${{ github.event_name != 'pull_request' }} + if: ${{ github.event_name != 'pull_request' }} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} uses: sigstore/cosign-installer@v3.1.2 - name: ๐Ÿ— Setup Docker Buildx uses: docker/setup-buildx-action@v3.0.0 + + # - name: ๐Ÿ— Cache Docker Layers + # uses: actions/cache@v3 + # with: + # path: /tmp/.buildx-cache + # key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Dockerfile', matrix.path)) }} - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} - if: ${{ github.event_name != 'pull_request' }} + if: ${{ github.event_name != 'pull_request' }} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} uses: docker/login-action@v3.0.0 with: registry: ${{env.REGISTRY}} @@ -69,6 +84,7 @@ jobs: password: ${{secrets.GITHUB_TOKEN}} - name: ๐Ÿš€ Build and push container image + if: ${{ steps.file_changes.outputs.dockerfile == 'true' }} id: build-and-push uses: docker/build-push-action@v5.0.0 with: @@ -78,9 +94,11 @@ jobs: labels: ${{steps.meta.outputs.labels}} cache-from: type=gha cache-to: type=gha,mode=max + # cache-from: type=local,src=/tmp/.buildx-cache + # cache-to: type=local,dest=/tmp/.buildx-cache - name: ๐Ÿ— Sign the published container image - if: ${{github.event_name != 'pull_request'}} + if: ${{github.event_name != 'pull_request'}} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} env: COSIGN_EXPERIMENTAL: 'true' run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} From 0f9c371139e48dca032ccf88c8021ed5026ce383 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:27:40 +0330 Subject: [PATCH 07/21] feat: add alpine base img --- alpine/.dockerignore | 1 + alpine/Dockerfile | 30 ++++++++++++++++++++++++++++++ alpine/README.md | 1 + 3 files changed, 32 insertions(+) create mode 100644 alpine/.dockerignore create mode 100644 alpine/Dockerfile create mode 100644 alpine/README.md diff --git a/alpine/.dockerignore b/alpine/.dockerignore new file mode 100644 index 0000000..72e8ffc --- /dev/null +++ b/alpine/.dockerignore @@ -0,0 +1 @@ +* diff --git a/alpine/Dockerfile b/alpine/Dockerfile new file mode 100644 index 0000000..dcbb1d1 --- /dev/null +++ b/alpine/Dockerfile @@ -0,0 +1,30 @@ +FROM docker.io/library/alpine:3.17 + +LABEL org.opencontainers.image.title="alpine" +LABEL org.opencontainers.image.source="https://github.com/Alwatr/containers" +LABEL org.opencontainers.image.description="Minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!" +LABEL org.opencontainers.image.authors="Alwatr <hi@alwatr.ir> (https://alwatr.ir)" +LABEL org.opencontainers.image.licenses="MIT" +LABEL org.opencontainers.image.url="https://github.com/Alwatr/containers/alpine" +LABEL org.opencontainers.image.documentation="https://github.com/Alwatr/containers/alpine/README.md" +LABEL org.opencontainers.image.vendor="Alwatr" + +ARG APK_TESTING +RUN set -ex; \ + if [ "$APK_TESTING" != "1" ]; then \ + echo "Skip alpine edge testing repository"; \ + else \ + echo "Add alpine edge testing repository"; \ + echo 'https://dl-cdn.alpinelinux.org/alpine/edge/testing/' >> /etc/apk/repositories; \ + fi + +ARG APK_INSTALL +RUN set -ex; \ + if [ "$APK_INSTALL" != "1" ]; then \ + echo "Skip apk install"; \ + else \ + echo "Add alpine edge testing repository"; \ + apk add --no-cache ${APK_INSTALL}; \ + fi + +CMD ["/bin/sh"] diff --git a/alpine/README.md b/alpine/README.md new file mode 100644 index 0000000..448015f --- /dev/null +++ b/alpine/README.md @@ -0,0 +1 @@ +# Alwatr Alpine Container From 4b63534fcf4fe7f884ac18b1d200b53ec1ae30c1 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:51:44 +0330 Subject: [PATCH 08/21] fix(workflow): check container files changed --- .github/workflows/publish-container.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index cc055dc..aacf403 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -41,16 +41,16 @@ jobs: - name: โคต๏ธ Checkout repository uses: actions/checkout@v4.0.0 - - name: ๏ผŸ Check file changes - id: file_changes + - name: โ” Check Container files changed + id: file_change uses: dorny/paths-filter@v2.11.1 with: filters: | - dockerfile: + container_folder: ${{ matrix.name }}/* - name: ๐Ÿ— Extract Docker metadata - if: ${{ steps.file_changes.outputs.dockerfile == 'true' }} + if: ${{ steps.file_change.outputs.container_folder == 'true' }} id: meta uses: docker/metadata-action@v5.0.0 with: @@ -63,7 +63,7 @@ jobs: type=raw,value=${{matrix.version.full}} - name: ๐Ÿ— Install cosign - if: ${{ github.event_name != 'pull_request' }} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} + if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} uses: sigstore/cosign-installer@v3.1.2 - name: ๐Ÿ— Setup Docker Buildx @@ -73,10 +73,10 @@ jobs: # uses: actions/cache@v3 # with: # path: /tmp/.buildx-cache - # key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Dockerfile', matrix.path)) }} + # key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.path)) }} - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} - if: ${{ github.event_name != 'pull_request' }} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} + if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} uses: docker/login-action@v3.0.0 with: registry: ${{env.REGISTRY}} @@ -84,7 +84,7 @@ jobs: password: ${{secrets.GITHUB_TOKEN}} - name: ๐Ÿš€ Build and push container image - if: ${{ steps.file_changes.outputs.dockerfile == 'true' }} + if: ${{ steps.file_change.outputs.container_folder == 'true' }} id: build-and-push uses: docker/build-push-action@v5.0.0 with: @@ -98,7 +98,7 @@ jobs: # cache-to: type=local,dest=/tmp/.buildx-cache - name: ๐Ÿ— Sign the published container image - if: ${{github.event_name != 'pull_request'}} && ${{ steps.file_changes.outputs.dockerfile == 'true' }} + if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} env: COSIGN_EXPERIMENTAL: 'true' run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} From a69a68e8a13bb34da8cb1b55d17aefd1c1114062 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:53:08 +0330 Subject: [PATCH 09/21] feat(workflow): add actions/cache --- .github/workflows/publish-container.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index aacf403..dd373cb 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -69,11 +69,11 @@ jobs: - name: ๐Ÿ— Setup Docker Buildx uses: docker/setup-buildx-action@v3.0.0 - # - name: ๐Ÿ— Cache Docker Layers - # uses: actions/cache@v3 - # with: - # path: /tmp/.buildx-cache - # key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.path)) }} + - name: ๐Ÿ— Cache Docker Layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.path)) }} - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} @@ -92,10 +92,10 @@ jobs: push: ${{github.event_name != 'pull_request'}} tags: ${{steps.meta.outputs.tags}} labels: ${{steps.meta.outputs.labels}} - cache-from: type=gha - cache-to: type=gha,mode=max - # cache-from: type=local,src=/tmp/.buildx-cache - # cache-to: type=local,dest=/tmp/.buildx-cache + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + # cache-from: type=gha + # cache-to: type=gha,mode=max - name: ๐Ÿ— Sign the published container image if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} From 9113344c64de4d15274ae86b39fde90e87eee1b1 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:58:16 +0330 Subject: [PATCH 10/21] feat: restore key --- .github/workflows/publish-container.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index dd373cb..578a2ff 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -73,7 +73,8 @@ jobs: uses: actions/cache@v3 with: path: /tmp/.buildx-cache - key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.path)) }} + restore-keys: | + image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx- - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} From dd994f215596a5971ed77b03473ad40a3d24c70c Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 17:58:24 +0330 Subject: [PATCH 11/21] fix(workflow): hash file --- .github/workflows/publish-container.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 578a2ff..752d083 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -72,10 +72,11 @@ jobs: - name: ๐Ÿ— Cache Docker Layers uses: actions/cache@v3 with: - path: /tmp/.buildx-cache + path: /tmp/.buildx-cache + key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.name)) }} restore-keys: | image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx- - + - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} uses: docker/login-action@v3.0.0 From fb0ad7c92e1ce9a222a1430b9c723f2381dd4a91 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 18:08:55 +0330 Subject: [PATCH 12/21] feat(workflow): 'stop if files not changed' step --- .github/workflows/publish-container.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 752d083..2b99bc1 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -33,6 +33,7 @@ jobs: permissions: contents: read packages: write + actions: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write @@ -48,6 +49,15 @@ jobs: filters: | container_folder: ${{ matrix.name }}/* + + - name: โ” Stop if files not changed + # if: ${{ steps.file_change.outputs.container_folder != 'true' }} + if: ${{ github.event_name != 'pull_request' }} + run: | + gh run cancel ${{ github.run_id }} + gh run watch ${{ github.run_id }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: ๐Ÿ— Extract Docker metadata if: ${{ steps.file_change.outputs.container_folder == 'true' }} From 094f2a65b7e6186e9a3a6c9698ebebd55bea03d4 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 18:11:38 +0330 Subject: [PATCH 13/21] fix(workflow): if statement for file change --- .github/workflows/publish-container.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 2b99bc1..56c3c60 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -48,11 +48,11 @@ jobs: with: filters: | container_folder: - ${{ matrix.name }}/* + README.md + # ${{ matrix.name }}/* - name: โ” Stop if files not changed - # if: ${{ steps.file_change.outputs.container_folder != 'true' }} - if: ${{ github.event_name != 'pull_request' }} + if: ${{ steps.file_change.outputs.container_folder != 'true' }} run: | gh run cancel ${{ github.run_id }} gh run watch ${{ github.run_id }} From 1b2a8995978f83fb9dcc285c887ff374def56144 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 18:11:38 +0330 Subject: [PATCH 14/21] fix(workflow): if statement for file change --- .github/workflows/publish-container.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 56c3c60..ac8ec47 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -49,7 +49,7 @@ jobs: filters: | container_folder: README.md - # ${{ matrix.name }}/* + # ./${{ matrix.name }}/* - name: โ” Stop if files not changed if: ${{ steps.file_change.outputs.container_folder != 'true' }} From 10646299ba76853d488ec6d200f76e9648f92fb9 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Tue, 7 Nov 2023 18:16:19 +0330 Subject: [PATCH 15/21] chore: update dot files --- .editorconfig | 15 +++++++++++++++ .gitignore | 37 +++++++++++++++++++++++++++++++++++++ .prettierrc.json | 4 ++++ .vscode/extensions.json | 10 ++++++++++ .vscode/settings.json | 22 +++++++++++++++++++--- 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .prettierrc.json create mode 100644 .vscode/extensions.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..485f80b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# EditorConfig is awesome: https://EditorConfig.org + +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..696f10c --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Specifies intentionally untracked files to ignore when using Git +# http://git-scm.com/docs/gitignore + +# OSX +.DS_STORE +.DS_Store +._* + +# Windows +Thumbs.db +Desktop.ini + +# Logs +*.log* + +# Build +dist +build +.tsbuildinfo +*.map +*.d.ts +*.js +!*.config.js +!**/res/*.js + +# Dependencies +node_modules +package-lock.json + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..a0f24c9 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "bracketSpacing": false +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..4e098c4 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + "recommendations": [ + "davidanson.vscode-markdownlint", + "editorconfig.editorconfig", + "esbenp.prettier-vscode", + "jgclark.vscode-todo-highlight", + "streetsidesoftware.code-spell-checker-persian", + "streetsidesoftware.code-spell-checker" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 27e093d..4acbb7a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,21 @@ { + "editor.wordWrapColumn": 120, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "prettier.useEditorConfig": true, + "files.associations": { + "*.mt": "routeros", + "*.conf.template": "nginx", + "ssh_config": "ssh_config", + "*.njk": "html", + "ssh-config": "ssh_config" + }, + "markdownlint.ignore": [ + "**/CHANGELOG.md" + ], + "cSpell.language": "en,fa,fa-IR", "cSpell.words": [ - "alwatr" - ] -} \ No newline at end of file + "Alwatr" + ], + "git.autoStash": true, + "githubPullRequests.ignoredPullRequestBranches": ["main", "next"] +} From 4c72ceb5d6b2628fac9d64728566e55192e91797 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Tue, 7 Nov 2023 18:29:54 +0330 Subject: [PATCH 16/21] chore(ci): update --- .github/workflows/publish-container.yml | 49 ++++++++++++------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index ac8ec47..8d6241e 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -33,7 +33,7 @@ jobs: permissions: contents: read packages: write - actions: write + # actions: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write @@ -51,42 +51,40 @@ jobs: README.md # ./${{ matrix.name }}/* - - name: โ” Stop if files not changed - if: ${{ steps.file_change.outputs.container_folder != 'true' }} - run: | - gh run cancel ${{ github.run_id }} - gh run watch ${{ github.run_id }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + # - name: โ” Stop if files not changed + # if: ${{ steps.file_change.outputs.container_folder != 'true' }} + # run: | + # gh run cancel ${{ github.run_id }} + # gh run watch ${{ github.run_id }} + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: ๐Ÿ— Extract Docker metadata - if: ${{ steps.file_change.outputs.container_folder == 'true' }} id: meta + if: ${{ steps.file_change.outputs.container_folder == 'true' }} uses: docker/metadata-action@v5.0.0 with: github-token: ${{secrets.GITHUB_TOKEN}} - images: | - name=${{env.REGISTRY}}/${{github.repository_owner}}/${{matrix.name}},enable=true - + images: name=${{env.REGISTRY}}/${{github.repository_owner}}/${{matrix.name}} tags: | type=raw,value=${{matrix.version.short}} type=raw,value=${{matrix.version.full}} - + - name: ๐Ÿ— Install cosign if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} uses: sigstore/cosign-installer@v3.1.2 - name: ๐Ÿ— Setup Docker Buildx + if: ${{ steps.file_change.outputs.container_folder == 'true' }} uses: docker/setup-buildx-action@v3.0.0 - + - name: ๐Ÿ— Cache Docker Layers + if: ${{ steps.file_change.outputs.container_folder == 'true' }} uses: actions/cache@v3 with: path: /tmp/.buildx-cache - key: image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx-${{ hashFiles(format('{0}/Container_folder', matrix.name)) }} - restore-keys: | - image-${{ matrix.name }}-version-${{ matrix.version.full }}-buildx- - + key: container-${{ matrix.name }} + - name: ๐Ÿ— Log into registry ${{env.REGISTRY}} if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} uses: docker/login-action@v3.0.0 @@ -97,10 +95,10 @@ jobs: - name: ๐Ÿš€ Build and push container image if: ${{ steps.file_change.outputs.container_folder == 'true' }} - id: build-and-push + id: build_and_push uses: docker/build-push-action@v5.0.0 with: - context: ${{matrix.name}} + context: ./${{matrix.name}} push: ${{github.event_name != 'pull_request'}} tags: ${{steps.meta.outputs.tags}} labels: ${{steps.meta.outputs.labels}} @@ -109,8 +107,9 @@ jobs: # cache-from: type=gha # cache-to: type=gha,mode=max - - name: ๐Ÿ— Sign the published container image - if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} + # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable + - name: ๐Ÿ— Sign the image with GitHub OIDC Token env: - COSIGN_EXPERIMENTAL: 'true' - run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} + DIGEST: ${{ steps.build_and_push.outputs.digest }} + TAGS: ${{ steps.meta.outputs.tags }} + run: cosign sign --yes "${TAGS}@${DIGEST}" From 9465b0fe93d510fcc207ff7c6e7c7dfedc73fa30 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Tue, 7 Nov 2023 18:30:45 +0330 Subject: [PATCH 17/21] chore(ci): fix sign issue --- .github/workflows/publish-container.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 8d6241e..17897c2 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -109,6 +109,7 @@ jobs: # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable - name: ๐Ÿ— Sign the image with GitHub OIDC Token + if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} env: DIGEST: ${{ steps.build_and_push.outputs.digest }} TAGS: ${{ steps.meta.outputs.tags }} From 14c5054ea374738313de244fa4848fded231186c Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Tue, 7 Nov 2023 18:34:06 +0330 Subject: [PATCH 18/21] chore(ci): enhance perf --- .github/workflows/publish-container.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 17897c2..49869bc 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -39,8 +39,6 @@ jobs: id-token: write steps: - - name: โคต๏ธ Checkout repository - uses: actions/checkout@v4.0.0 - name: โ” Check Container files changed id: file_change @@ -59,6 +57,10 @@ jobs: # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: โคต๏ธ Checkout repository + if: ${{ steps.file_change.outputs.container_folder == 'true' }} + uses: actions/checkout@v4.0.0 + - name: ๐Ÿ— Extract Docker metadata id: meta if: ${{ steps.file_change.outputs.container_folder == 'true' }} From d55da15a28f0ddca3efd1e6b2a0a35fba2741e80 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 18:43:14 +0330 Subject: [PATCH 19/21] chore(ci): file change path --- .github/workflows/publish-container.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 49869bc..e251fe2 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -46,8 +46,7 @@ jobs: with: filters: | container_folder: - README.md - # ./${{ matrix.name }}/* + ./${{ matrix.name }}/* # - name: โ” Stop if files not changed # if: ${{ steps.file_change.outputs.container_folder != 'true' }} From c9156f99655e153a70807f54500f2f08e038e2d8 Mon Sep 17 00:00:00 2001 From: "S. Amir Mohammad Najafi" <njfamirm@gmail.com> Date: Tue, 7 Nov 2023 18:45:38 +0330 Subject: [PATCH 20/21] chore(ci): add label --- .github/workflows/publish-container.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index e251fe2..9d15987 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -70,6 +70,9 @@ jobs: tags: | type=raw,value=${{matrix.version.short}} type=raw,value=${{matrix.version.full}} + labels: | + org.opencontainers.image.authors=Ali.Mihandoost@gmail.com,njfamirm@gmail.com + org.opencontainers.image.title=@Alwatr/${{matrix.name}} - name: ๐Ÿ— Install cosign if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} From db430afb190fdaa440f8d82fe0a23dc51a5072d6 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Tue, 7 Nov 2023 19:00:58 +0330 Subject: [PATCH 21/21] fix: images labels --- .github/workflows/publish-container.yml | 9 +++++++-- alpine/Dockerfile | 7 ------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 9d15987..491de44 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -71,8 +71,13 @@ jobs: type=raw,value=${{matrix.version.short}} type=raw,value=${{matrix.version.full}} labels: | - org.opencontainers.image.authors=Ali.Mihandoost@gmail.com,njfamirm@gmail.com - org.opencontainers.image.title=@Alwatr/${{matrix.name}} + org.opencontainers.image.title="alwatr/${{matrix.name}}" + org.opencontainers.image.authors=S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com), S. Amir Mohammad Najafi <njfamirm@gmail.com> (https://njfamirm.ir/) + org.opencontainers.image.source="https://github.com/Alwatr/containers/tree/main/${{matrix.name}}" + org.opencontainers.image.licenses="MIT" + org.opencontainers.image.url="https://github.com/Alwatr/containers/tree/main/${{matrix.name}}" + org.opencontainers.image.documentation="https://github.com/Alwatr/containers/tree/main/${{matrix.name}}" + org.opencontainers.image.vendor="Alwatr" - name: ๐Ÿ— Install cosign if: ${{ github.event_name != 'pull_request' && steps.file_change.outputs.container_folder == 'true' }} diff --git a/alpine/Dockerfile b/alpine/Dockerfile index dcbb1d1..293f004 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -1,13 +1,6 @@ FROM docker.io/library/alpine:3.17 -LABEL org.opencontainers.image.title="alpine" -LABEL org.opencontainers.image.source="https://github.com/Alwatr/containers" LABEL org.opencontainers.image.description="Minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size!" -LABEL org.opencontainers.image.authors="Alwatr <hi@alwatr.ir> (https://alwatr.ir)" -LABEL org.opencontainers.image.licenses="MIT" -LABEL org.opencontainers.image.url="https://github.com/Alwatr/containers/alpine" -LABEL org.opencontainers.image.documentation="https://github.com/Alwatr/containers/alpine/README.md" -LABEL org.opencontainers.image.vendor="Alwatr" ARG APK_TESTING RUN set -ex; \