From 0bd9da61c9ff416e05dcb75e7ac7b356f2fa956e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 21 Jan 2021 23:27:16 +0100 Subject: [PATCH] Add new repository workflow (#95) * Add new repository workflow * Prettified Code! * Address add-on lint errors * Migrate Docker build arguments * Documentation tweaks Co-authored-by: frenck --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/dependabot.yaml | 8 + .github/labels.yml | 85 ++++++++++ .github/release-drafter.yml | 57 +++++++ .github/workflows/ci.yaml | 182 ++++++++++++++++++++++ .github/workflows/deploy.yaml | 206 +++++++++++++++++++++++++ .github/workflows/labels.yaml | 22 +++ .github/workflows/lock.yaml | 21 +++ .github/workflows/release-drafter.yaml | 18 +++ .github/workflows/stale.yaml | 40 +++++ README.md | 10 +- glances/.README.j2 | 2 +- glances/DOCS.md | 16 +- glances/Dockerfile | 16 +- glances/build.json | 3 +- glances/config.json | 2 - 16 files changed, 664 insertions(+), 26 deletions(-) create mode 100644 .github/dependabot.yaml create mode 100644 .github/labels.yml create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/deploy.yaml create mode 100644 .github/workflows/labels.yaml create mode 100644 .github/workflows/lock.yaml create mode 100644 .github/workflows/release-drafter.yaml create mode 100644 .github/workflows/stale.yaml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index cbd529a..14f7b5b 100755 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -6,4 +6,4 @@ > ([Github link][autolink-references] to related issues or pull requests) -[autolink-references]: https://help.github.com/articles/autolinked-references-and-urls/ \ No newline at end of file +[autolink-references]: https://help.github.com/articles/autolinked-references-and-urls/ diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..45dd97a --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,8 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: daily + time: "06:00" diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..2d0f68a --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,85 @@ +--- +- name: "breaking-change" + color: ee0701 + description: "A breaking change for existing 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: "Improvement of existing code, not introducing new features." +- name: "performance" + color: 1d76db + description: "Improving performance, 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 continue integration." +- name: "dependencies" + color: 1d76db + description: "Upgrade or downgrade of project dependencies." + +- name: "in-progress" + color: fbca04 + description: "Issue is currently being resolved by a developer." +- name: "stale" + color: fef2c0 + description: "There has not been activity on this issue or PR for quite some time." +- name: "no-stale" + color: fef2c0 + description: "This issue or PR is exempted from the stable bot." + +- name: "security" + color: ee0701 + description: "Marks a security issue that needs to be resolved asap." +- name: "incomplete" + color: fef2c0 + description: "Marks a PR or issue that is missing information." +- name: "invalid" + color: fef2c0 + description: "Marks a PR or issue that is missing information." + +- name: "beginner-friendly" + color: 0e8a16 + description: "Good first issue for people wanting to contribute to the project." +- name: "help-wanted" + color: 0e8a16 + description: "We need some extra helping hands or expertise in order to resolve this." + +- name: "hacktoberfest" + description: "Issues/PRs are participating in the Hacktoberfest." + color: fbca04 +- name: "hacktoberfest-accepted" + description: "Issues/PRs are participating in the Hacktoberfest." + color: fbca04 + +- name: "priority-critical" + color: ee0701 + description: "This should be dealt with ASAP. Not fixing this issue would be a serious error." +- 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 version bump in the version number." +- name: "minor" + color: 0e8a16 + description: "This PR causes a minor version bump in the version number." diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..cb404ea --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,57 @@ +--- +name-template: "v$RESOLVED_VERSION" +tag-template: "v$RESOLVED_VERSION" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +sort-direction: ascending + +categories: + - title: "🚨 Breaking changes" + labels: + - "breaking-change" + - title: "✨ New features" + labels: + - "new-feature" + - title: "πŸ› Bug fixes" + labels: + - "bugfix" + - title: "πŸš€ Enhancements" + labels: + - "enhancement" + - "refactor" + - "performance" + - title: "🧰 Maintenance" + labels: + - "maintenance" + - "ci" + - title: "πŸ“š Documentation" + labels: + - "documentation" + - title: "⬆️ Dependency updates" + labels: + - "dependencies" + +version-resolver: + major: + labels: + - "major" + - "breaking-change" + minor: + labels: + - "minor" + - "new-feature" + patch: + labels: + - "bugfix" + - "chore" + - "ci" + - "dependencies" + - "documentation" + - "enhancement" + - "performance" + - "refactor" + default: patch + +template: | + ## What’s changed + + $CHANGES diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..e31f3a8 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,182 @@ +--- +name: CI + +# yamllint disable-line rule:truthy +on: + push: + pull_request: + types: + - opened + - reopened + - synchronize + workflow_dispatch: + +jobs: + information: + name: Gather add-on information + runs-on: ubuntu-latest + outputs: + architectures: ${{ steps.information.outputs.architectures }} + build: ${{ steps.information.outputs.build }} + description: ${{ steps.information.outputs.description }} + name: ${{ steps.information.outputs.name }} + slug: ${{ steps.information.outputs.slug }} + target: ${{ steps.information.outputs.target }} + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run add-on information action + id: information + uses: frenck/action-addon-information@v1.0.0 + + lint-addon: + name: Lint Add-on + needs: + - information + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run Add-on Lint + uses: frenck/action-addon-linter@v1.3.1 + with: + community: true + path: "./${{ needs.information.outputs.target }}" + + lint-hadolint: + name: Hadolint + needs: + - information + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run Hadolint + uses: brpaz/hadolint-action@v1.3.1 + with: + dockerfile: "./${{ needs.information.outputs.target }}/Dockerfile" + + lint-json: + name: JSON Lint + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run JQ + run: | + shopt -s globstar + cat **/*.json | jq '.' + + lint-markdown: + name: MarkdownLint + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run mdl + uses: actionshub/markdownlint@2.0.0 + + lint-shellcheck: + name: Shellcheck + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run Shellcheck + uses: ludeeus/action-shellcheck@1.0.0 + env: + SHELLCHECK_OPTS: -s bash + + lint-yamllint: + name: YAMLLint + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run YAMLLint + uses: frenck/action-yamllint@v1.0.2 + + lint-prettier: + name: Prettier + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run Prettier + uses: creyD/prettier_action@v3.3 + with: + prettier_options: --write **/*.{json,js,md,yaml} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build: + name: Build ${{ matrix.architecture }} + needs: + - information + - lint-addon + - lint-hadolint + - lint-json + - lint-markdown + - lint-prettier + - lint-shellcheck + - lint-yamllint + runs-on: ubuntu-latest + strategy: + matrix: + architecture: ${{ fromJson(needs.information.outputs.architectures) }} + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸ— Set up build cache + id: cache + uses: actions/cache@v2.1.3 + with: + path: /tmp/.docker-cache + key: docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha }} + restore-keys: | + docker-${{ github.ref }}-${{ matrix.architecture }} + - name: πŸ— Set up QEMU + uses: docker/setup-qemu-action@v1.0.1 + - name: πŸ— Set up Docker Buildx + uses: docker/setup-buildx-action@v1.1.1 + - name: ℹ️ Compose build flags + id: flags + run: | + echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")" + from=$(jq --raw-output ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}") + echo "::set-output name=from::${from}" + + if [[ "${{ matrix.architecture}}" = "amd64" ]]; then + echo "::set-output name=platform::linux/amd64" + elif [[ "${{ matrix.architecture }}" = "i386" ]]; then + echo "::set-output name=platform::linux/386" + elif [[ "${{ matrix.architecture }}" = "armhf" ]]; then + echo "::set-output name=platform::linux/arm/v6" + elif [[ "${{ matrix.architecture }}" = "armv7" ]]; then + echo "::set-output name=platform::linux/arm/v7" + elif [[ "${{ matrix.architecture }}" = "aarch64" ]]; then + echo "::set-output name=platform::linux/arm64/v8" + else + echo "::error ::Could not determine platform for architecture ${{ matrix.architecture }}" + exit 1 + fi + - name: πŸš€ Build + uses: docker/build-push-action@v2.2.2 + with: + push: false + context: ${{ needs.information.outputs.target }} + file: ${{ needs.information.outputs.target }}/Dockerfile + cache-from: | + type=local,src=/tmp/.docker-cache + ghcr.io/hassio-addons/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge + cache-to: type=local,mode=max,dest=/tmp/.docker-cache + platforms: ${{ steps.flags.outputs.platform }} + build-args: | + BUILD_ARCH=${{ matrix.architecture }} + BUILD_DATE=${{ steps.flags.outputs.date }} + BUILD_DESCRIPTION=${{ needs.information.outputs.description }} + BUILD_FROM=${{ steps.flags.outputs.from }} + BUILD_NAME=${{ needs.information.outputs.name }} + BUILD_REF=${{ github.sha }} + BUILD_REPOSITORY=${{ github.repository }} + BUILD_VERSION=edge diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..1190d75 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,206 @@ +--- +name: Deploy + +# yamllint disable-line rule:truthy +on: + release: + types: + - published + workflow_run: + workflows: ["CI"] + branches: [main] + types: + - completed + +jobs: + information: + if: | + github.event_name == 'release' + || ( + github.event_name == 'workflow_run' + && github.event.workflow_run.conclusion == 'success' + ) + name: ℹ️ Gather add-on information + runs-on: ubuntu-latest + outputs: + architectures: ${{ steps.information.outputs.architectures }} + build: ${{ steps.information.outputs.build }} + description: ${{ steps.information.outputs.description }} + environment: ${{ steps.release.outputs.environment }} + name: ${{ steps.information.outputs.name }} + slug: ${{ steps.information.outputs.slug }} + target: ${{ steps.information.outputs.target }} + version: ${{ steps.release.outputs.version }} + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run add-on information action + id: information + uses: frenck/action-addon-information@v1.0.0 + - name: ℹ️ Gather version and environment + id: release + run: | + sha="${{ github.sha }}" + environment="edge" + version="${sha:0:7}" + if [[ "${{ github.event_name }}" = "release" ]]; then + version="${{ github.event.release.tag_name }}" + version="${version,,}" + version="${version#v}" + environment="stable" + if [[ "${{ github.event.release.prerelease }}" = "true" ]]; then + environment="beta" + fi + fi + + echo "::set-output name=environment::${environment}" + echo "::set-output name=version::${version}" + + deploy: + name: πŸ‘· Build & Deploy ${{ matrix.architecture }} + needs: information + runs-on: ubuntu-latest + strategy: + matrix: + architecture: ${{ fromJson(needs.information.outputs.architectures) }} + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸ— Set up build cache + id: cache + uses: actions/cache@v2.1.3 + with: + path: /tmp/.docker-cache + key: docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha }} + restore-keys: | + docker-${{ github.ref }}-${{ matrix.architecture }} + - name: πŸ— Set up QEMU + uses: docker/setup-qemu-action@v1.0.1 + - name: πŸ— Set up Docker Buildx + uses: docker/setup-buildx-action@v1.1.1 + - name: ℹ️ Compose build flags + id: flags + run: | + echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")" + from=$(jq --raw-output ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}") + echo "::set-output name=from::${from}" + + if [[ "${{ matrix.architecture}}" = "amd64" ]]; then + echo "::set-output name=platform::linux/amd64" + elif [[ "${{ matrix.architecture }}" = "i386" ]]; then + echo "::set-output name=platform::linux/386" + elif [[ "${{ matrix.architecture }}" = "armhf" ]]; then + echo "::set-output name=platform::linux/arm/v6" + elif [[ "${{ matrix.architecture }}" = "armv7" ]]; then + echo "::set-output name=platform::linux/arm/v7" + elif [[ "${{ matrix.architecture }}" = "aarch64" ]]; then + echo "::set-output name=platform::linux/arm64/v8" + else + echo "::error ::Could not determine platform for architecture ${{ matrix.architecture }}" + exit 1 + fi + - name: πŸ— Login to GitHub Container Registry + uses: docker/login-action@v1.8.0 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_USERNAME }} + password: ${{ secrets.GHCR_PASSWORD }} + - name: πŸš€ Build and push + uses: docker/build-push-action@v2.2.2 + with: + push: true + # yamllint disable rule:line-length + tags: | + ghcr.io/hassio-addons/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.environment }} + ghcr.io/hassio-addons/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.version }} + # yamllint enable rule:line-length + context: ${{ needs.information.outputs.target }} + file: ${{ needs.information.outputs.target }}/Dockerfile + cache-from: | + type=local,src=/tmp/.docker-cache + ghcr.io/hassio-addons/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge + cache-to: type=local,mode=max,dest=/tmp/.docker-cache + platforms: ${{ steps.flags.outputs.platform }} + build-args: | + BUILD_ARCH=${{ matrix.architecture }} + BUILD_DATE=${{ steps.flags.outputs.date }} + BUILD_DESCRIPTION=${{ needs.information.outputs.description }} + BUILD_FROM=${{ steps.flags.outputs.from }} + BUILD_NAME=${{ needs.information.outputs.name }} + BUILD_REF=${{ github.sha }} + BUILD_REPOSITORY=${{ github.repository }} + BUILD_VERSION=${{ needs.information.outputs.version }} + + publish-edge: + name: πŸ“’ Publish to edge repository + if: needs.information.outputs.environment == 'edge' + needs: + - information + - deploy + environment: + name: ${{ needs.information.outputs.environment }} + runs-on: ubuntu-latest + steps: + - name: πŸš€ Dispatch repository updater update signal + uses: peter-evans/repository-dispatch@v1.1.3 + with: + token: ${{ secrets.DISPATCH_TOKEN }} + repository: hassio-addons/repository-edge + event-type: update + client-payload: > + { + "addon": "${{ needs.information.outputs.slug }}", + "name": "${{ needs.information.outputs.name }}", + "repository": "${{ github.repository }}", + "version": "${{ needs.information.outputs.version }}" + } + + publish-beta: + name: πŸ“’ Publish to beta repository + if: | + needs.information.outputs.environment == 'beta' || + needs.information.outputs.environment == 'stable' + needs: + - information + - deploy + environment: + name: ${{ needs.information.outputs.environment }} + runs-on: ubuntu-latest + steps: + - name: πŸš€ Dispatch repository updater update signal + uses: peter-evans/repository-dispatch@v1.1.3 + with: + token: ${{ secrets.DISPATCH_TOKEN }} + repository: hassio-addons/repository-beta + event-type: update + client-payload: > + { + "addon": "${{ needs.information.outputs.slug }}", + "name": "${{ needs.information.outputs.name }}", + "repository": "${{ github.repository }}", + "version": "${{ github.event.release.tag_name }}" + } + + publish-stable: + name: πŸ“’ Publish to stable repository + if: needs.information.outputs.environment == 'stable' + needs: + - information + - deploy + environment: + name: ${{ needs.information.outputs.environment }} + runs-on: ubuntu-latest + steps: + - name: πŸš€ Dispatch repository updater update signal + uses: peter-evans/repository-dispatch@v1.1.3 + with: + token: ${{ secrets.DISPATCH_TOKEN }} + repository: hassio-addons/repository + event-type: update + client-payload: > + { + "addon": "${{ needs.information.outputs.slug }}", + "name": "${{ needs.information.outputs.name }}", + "repository": "${{ github.repository }}", + "version": "${{ github.event.release.tag_name }}" + } diff --git a/.github/workflows/labels.yaml b/.github/workflows/labels.yaml new file mode 100644 index 0000000..5a6ab37 --- /dev/null +++ b/.github/workflows/labels.yaml @@ -0,0 +1,22 @@ +--- +name: Sync labels + +# yamllint disable-line rule:truthy +on: + push: + branches: + - main + paths: + - .github/labels.yml + +jobs: + labels: + name: ♻️ Sync labels + runs-on: ubuntu-latest + steps: + - name: ‡️ Check out code from GitHub + uses: actions/checkout@v2.3.4 + - name: πŸš€ Run Label Syncer + uses: micnncim/action-label-syncer@v1.2.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lock.yaml b/.github/workflows/lock.yaml new file mode 100644 index 0000000..ff147a2 --- /dev/null +++ b/.github/workflows/lock.yaml @@ -0,0 +1,21 @@ +--- +name: Lock + +# yamllint disable-line rule:truthy +on: + schedule: + - cron: "0 9 * * *" + workflow_dispatch: + +jobs: + lock: + name: πŸ”’ Lock closed issues and PRs + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v2.0.3 + with: + github-token: ${{ github.token }} + issue-lock-inactive-days: "30" + issue-lock-reason: "" + pr-lock-inactive-days: "1" + pr-lock-reason: "" diff --git a/.github/workflows/release-drafter.yaml b/.github/workflows/release-drafter.yaml new file mode 100644 index 0000000..25f9856 --- /dev/null +++ b/.github/workflows/release-drafter.yaml @@ -0,0 +1,18 @@ +--- +name: Release Drafter + +# yamllint disable-line rule:truthy +on: + push: + branches: + - main + +jobs: + update_release_draft: + name: ✏️ Draft release + runs-on: ubuntu-latest + steps: + - name: πŸš€ Run Release Drafter + uses: release-drafter/release-drafter@v5.13.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml new file mode 100644 index 0000000..08b39ae --- /dev/null +++ b/.github/workflows/stale.yaml @@ -0,0 +1,40 @@ +--- +name: Stale + +# yamllint disable-line rule:truthy +on: + schedule: + - cron: "0 8 * * *" + workflow_dispatch: + +jobs: + stale: + name: 🧹 Clean up stale issues and PRs + runs-on: ubuntu-latest + steps: + - name: πŸš€ Run stale + uses: actions/stale@v3.0.14 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-stale: 30 + days-before-close: 7 + remove-stale-when-updated: true + stale-issue-label: "stale" + exempt-issue-labels: "no-stale,help-wanted" + stale-issue-message: > + There hasn't been any activity on this issue recently, so we + clean up some of the older and inactive issues. + + Please make sure to update to the latest version and + check if that solves the issue. Let us know if that works for you + by leaving a comment πŸ‘ + + This issue has now been marked as stale and will be closed if no + further activity occurs. Thanks! + stale-pr-label: "stale" + exempt-pr-labels: "no-stale" + stale-pr-message: > + There hasn't been any activity on this pull request recently. This + pull request has been automatically marked as stale because of that + and will be closed if no further activity occurs within 7 days. + Thank you for your contributions. diff --git a/README.md b/README.md index fed9080..462ccde 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ![Supports amd64 Architecture][amd64-shield] ![Supports i386 Architecture][i386-shield] -[![GitLab CI][gitlabci-shield]][gitlabci] +[![Github Actions][github-actions-shield]][github-actions] ![Project Maintenance][maintenance-shield] [![GitHub Activity][commits-shield]][commits] @@ -103,19 +103,19 @@ SOFTWARE. [armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg [armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [commits-shield]: https://img.shields.io/github/commit-activity/y/hassio-addons/addon-glances.svg -[commits]: https://github.com/hassio-addons/addon-glances/commits/master +[commits]: https://github.com/hassio-addons/addon-glances/commits/main [contributors]: https://github.com/hassio-addons/addon-glances/graphs/contributors [discord-ha]: https://discord.gg/c5DvZ4e [discord-shield]: https://img.shields.io/discord/478094546522079232.svg [discord]: https://discord.me/hassioaddons -[docs]: https://github.com/hassio-addons/addon-glances/blob/master/glances/DOCS.md +[docs]: https://github.com/hassio-addons/addon-glances/blob/main/glances/DOCS.md [forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg [forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-glances/97102?u=frenck [frenck]: https://github.com/frenck +[github-actions-shield]: https://github.com/hassio-addons/addon-glances/workflows/CI/badge.svg +[github-actions]: https://github.com/hassio-addons/addon-glances/actions [github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png [github-sponsors]: https://github.com/sponsors/frenck -[gitlabci-shield]: https://gitlab.com/hassio-addons/addon-glances/badges/master/pipeline.svg -[gitlabci]: https://gitlab.com/hassio-addons/addon-glances/pipelines [i386-shield]: https://img.shields.io/badge/i386-yes-green.svg [issue]: https://github.com/hassio-addons/addon-glances/issues [license-shield]: https://img.shields.io/github/license/hassio-addons/addon-glances.svg diff --git a/glances/.README.j2 b/glances/.README.j2 index a790354..a4150e3 100644 --- a/glances/.README.j2 +++ b/glances/.README.j2 @@ -71,4 +71,4 @@ If you are more interested in stable releases of our add-ons: [project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg [release-shield]: https://img.shields.io/badge/version-{{ version }}-blue.svg [release]: {{ repo }}/tree/{{ version }} -[screenshot]: https://github.com/hassio-addons/addon-glances/raw/master/images/screenshot.png +[screenshot]: https://github.com/hassio-addons/addon-glances/raw/main/images/screenshot.png diff --git a/glances/DOCS.md b/glances/DOCS.md index a09e2a7..99756c0 100644 --- a/glances/DOCS.md +++ b/glances/DOCS.md @@ -55,7 +55,7 @@ dealing with an unknown issue. Possible values are: - `debug`: Shows detailed debug information. - `info`: Normal (usually) interesting events. - `warning`: Exceptional occurrences that are not errors. -- `error`: Runtime errors that do not require immediate action. +- `error`: Runtime errors that do not require immediate action. - `fatal`: Something went terribly wrong. Add-on becomes unusable. Please note that each level automatically includes log messages from a @@ -143,7 +143,7 @@ Defines the interval (in seconds) on how often Glances exports data to InfluxDB. #### Option `influxdb`: `ssl` -Adding this option will allow SSL to be used on the InfluxDB connection. If not +Adding this option will allow SSL to be used on the InfluxDB connection. If not set will default to `false` which is the required setting for the Community InfluxDB add-on. @@ -168,16 +168,15 @@ Home Assistant documentation: ## Changelog & Releases This repository keeps a change log using [GitHub's releases][releases] -functionality. The format of the log is based on -[Keep a Changelog][keepchangelog]. +functionality. Releases are based on [Semantic Versioning][semver], and use the format -of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented +of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented based on the following: -- ``MAJOR``: Incompatible or major changes. -- ``MINOR``: Backwards-compatible new features and enhancements. -- ``PATCH``: Backwards-compatible bugfixes and package updates. +- `MAJOR`: Incompatible or major changes. +- `MINOR`: Backwards-compatible new features and enhancements. +- `PATCH`: Backwards-compatible bugfixes and package updates. ## Support @@ -232,7 +231,6 @@ SOFTWARE. [forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-glances/97102?u=frenck [frenck]: https://github.com/frenck [issue]: https://github.com/hassio-addons/addon-glances/issues -[keepchangelog]: http://keepachangelog.com/en/1.0.0/ [reddit]: https://reddit.com/r/homeassistant [releases]: https://github.com/hassio-addons/addon-glances/releases [semver]: http://semver.org/spec/v2.0.0.htm diff --git a/glances/Dockerfile b/glances/Dockerfile index 772c30d..7c8427c 100755 --- a/glances/Dockerfile +++ b/glances/Dockerfile @@ -43,26 +43,30 @@ RUN \ COPY rootfs / # Build arguments +ARG BUILD_ARCH ARG BUILD_DATE +ARG BUILD_DESCRIPTION +ARG BUILD_NAME ARG BUILD_REF +ARG BUILD_REPOSITORY ARG BUILD_VERSION # Labels LABEL \ - io.hass.name="Glances" \ - io.hass.description="A cross-platform system monitoring tool" \ + io.hass.name="${BUILD_NAME}" \ + io.hass.description="${BUILD_DESCRIPTION}" \ io.hass.arch="${BUILD_ARCH}" \ io.hass.type="addon" \ io.hass.version=${BUILD_VERSION} \ maintainer="Franck Nijhof " \ - org.opencontainers.image.title="Glances" \ - org.opencontainers.image.description="A cross-platform system monitoring tool" \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ org.opencontainers.image.vendor="Home Assistant Community Add-ons" \ org.opencontainers.image.authors="Franck Nijhof " \ org.opencontainers.image.licenses="MIT" \ org.opencontainers.image.url="https://addons.community" \ - org.opencontainers.image.source="https://github.com/hassio-addons/addon-glances" \ - org.opencontainers.image.documentation="https://github.com/hassio-addons/addon-glances/blob/master/README.md" \ + org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ org.opencontainers.image.created=${BUILD_DATE} \ org.opencontainers.image.revision=${BUILD_REF} \ org.opencontainers.image.version=${BUILD_VERSION} diff --git a/glances/build.json b/glances/build.json index 0d3715b..c1c900e 100644 --- a/glances/build.json +++ b/glances/build.json @@ -5,6 +5,5 @@ "armhf": "hassioaddons/base-armhf:8.0.5", "armv7": "hassioaddons/base-armv7:8.0.5", "i386": "hassioaddons/base-i386:8.0.5" - }, - "args": {} + } } diff --git a/glances/config.json b/glances/config.json index 02736dc..01207d8 100755 --- a/glances/config.json +++ b/glances/config.json @@ -18,9 +18,7 @@ "80/tcp": "Web interface (Not required for Ingress)" }, "map": ["addons", "backup", "config:rw", "share", "ssl"], - "boot": "auto", "hassio_api": true, - "hassio_role": "default", "auth_api": true, "docker_api": true, "host_network": true,