mirror of
https://github.com/hassio-addons/addon-vscode.git
synced 2025-05-02 18:21:23 +00:00
Add new repository workflow (#159)
* Add new repository workflow * Prettified Code! * Address add-on lint errors * Address add-on lint errors Co-authored-by: frenck <frenck@users.noreply.github.com>
This commit is contained in:
parent
0cbd93b761
commit
17a11d815d
18 changed files with 669 additions and 31 deletions
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -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/
|
||||
[autolink-references]: https://help.github.com/articles/autolinked-references-and-urls/
|
||||
|
|
13
.github/dependabot.yaml
vendored
Normal file
13
.github/dependabot.yaml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "06:00"
|
||||
- package-ecosystem: "pip"
|
||||
directory: "/vscode"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "06:00"
|
85
.github/labels.yml
vendored
Normal file
85
.github/labels.yml
vendored
Normal file
|
@ -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."
|
57
.github/release-drafter.yml
vendored
Normal file
57
.github/release-drafter.yml
vendored
Normal file
|
@ -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
|
182
.github/workflows/ci.yaml
vendored
Normal file
182
.github/workflows/ci.yaml
vendored
Normal file
|
@ -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.output.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.0
|
||||
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
|
206
.github/workflows/deploy.yaml
vendored
Normal file
206
.github/workflows/deploy.yaml
vendored
Normal file
|
@ -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.output.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 }}"
|
||||
}
|
22
.github/workflows/labels.yaml
vendored
Normal file
22
.github/workflows/labels.yaml
vendored
Normal file
|
@ -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 }}
|
21
.github/workflows/lock.yaml
vendored
Normal file
21
.github/workflows/lock.yaml
vendored
Normal file
|
@ -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: ""
|
18
.github/workflows/release-drafter.yaml
vendored
Normal file
18
.github/workflows/release-drafter.yaml
vendored
Normal file
|
@ -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 }}
|
40
.github/workflows/stale.yaml
vendored
Normal file
40
.github/workflows/stale.yaml
vendored
Normal file
|
@ -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.
|
|
@ -1,14 +0,0 @@
|
|||
---
|
||||
include: https://raw.githubusercontent.com/hassio-addons/organization/master/gitlabci/addon.yml
|
||||
|
||||
variables:
|
||||
ADDON_GITHUB_REPO: "hassio-addons/addon-vscode"
|
||||
ADDON_SLUG: "vscode"
|
||||
ADDON_TARGET: "vscode"
|
||||
|
||||
ADDON_ARMHF: "false"
|
||||
ADDON_ARMV7: "false"
|
||||
ADDON_I386: "false"
|
||||
|
||||
ADDON_AARCH64_BASE: "hassioaddons/debian-base-aarch64:3.2.3"
|
||||
ADDON_AMD64_BASE: "hassioaddons/debian-base-amd64:3.2.3"
|
10
README.md
10
README.md
|
@ -10,7 +10,7 @@
|
|||
![Supports armv7 Architecture][armv7-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]
|
||||
|
||||
|
@ -108,19 +108,19 @@ SOFTWARE.
|
|||
[armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg
|
||||
[armv7-shield]: https://img.shields.io/badge/armv7-no-red.svg
|
||||
[commits-shield]: https://img.shields.io/github/commit-activity/y/hassio-addons/addon-vscode.svg
|
||||
[commits]: https://github.com/hassio-addons/addon-vscode/commits/master
|
||||
[commits]: https://github.com/hassio-addons/addon-vscode/commits/main
|
||||
[contributors]: https://github.com/hassio-addons/addon-vscode/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-vscode/blob/master/vscode/DOCS.md
|
||||
[docs]: https://github.com/hassio-addons/addon-vscode/blob/main/vscode/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-visual-studio-code/107863?u=frenck
|
||||
[frenck]: https://github.com/frenck
|
||||
[github-actions-shield]: https://github.com/hassio-addons/addon-example/workflows/CI/badge.svg
|
||||
[github-actions]: https://github.com/hassio-addons/addon-example/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-vscode/badges/master/pipeline.svg
|
||||
[gitlabci]: https://gitlab.com/hassio-addons/addon-vscode/pipelines
|
||||
[i386-shield]: https://img.shields.io/badge/i386-no-red.svg
|
||||
[issue]: https://github.com/hassio-addons/addon-vscode/issues
|
||||
[license-shield]: https://img.shields.io/github/license/hassio-addons/addon-vscode.svg
|
||||
|
|
|
@ -76,4 +76,4 @@ If you are more interested in stable releases of our add-ons:
|
|||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
|
||||
[release-shield]: https://img.shields.io/badge/version-{{ version }}-blue.svg
|
||||
[release]: {{ repo }}/tree/{{ version }}
|
||||
[screenshot]: {{ repo }}/raw/master/images/screenshot.png
|
||||
[screenshot]: {{ repo }}/raw/main/images/screenshot.png
|
||||
|
|
|
@ -124,26 +124,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="Visual Studio Code" \
|
||||
io.hass.description="Visual Studio Code, accessible through the browser" \
|
||||
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 <frenck@addons.community>" \
|
||||
org.opencontainers.image.title="Visual Studio Code" \
|
||||
org.opencontainers.image.description="Visual Studio Code, accessible through the browser" \
|
||||
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 <frenck@addons.community>" \
|
||||
org.opencontainers.image.licenses="MIT" \
|
||||
org.opencontainers.image.url="https://addons.community" \
|
||||
org.opencontainers.image.source="https://github.com/hassio-addons/addon-vscode" \
|
||||
org.opencontainers.image.documentation="https://github.com/hassio-addons/addon-vscode/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}
|
||||
|
|
|
@ -2,6 +2,5 @@
|
|||
"build_from": {
|
||||
"aarch64": "hassioaddons/debian-base-aarch64:3.2.3",
|
||||
"amd64": "hassioaddons/debian-base-amd64:3.2.3"
|
||||
},
|
||||
"args": {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
"startup": "services",
|
||||
"init": false,
|
||||
"arch": ["aarch64", "amd64"],
|
||||
"boot": "auto",
|
||||
"auto_uart": true,
|
||||
"hassio_api": true,
|
||||
"hassio_role": "manager",
|
||||
|
|
|
@ -1 +1,6 @@
|
|||
{"rootWorkspaces":[],"folderURIWorkspaces":[],"emptyWorkspaceInfos":[],"emptyWorkspaces":[]}
|
||||
{
|
||||
"rootWorkspaces": [],
|
||||
"folderURIWorkspaces": [],
|
||||
"emptyWorkspaceInfos": [],
|
||||
"emptyWorkspaces": []
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# shellcheck disable=SC1090,SC2034,SC2086
|
||||
# If you come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue