Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
JanDeDobbeleer committed Jul 5, 2023
0 parents commit 1040180
Show file tree
Hide file tree
Showing 75 changed files with 26,608 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .commitlintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
extends:
- '@commitlint/config-conventional'
rules:
type-enum:
- 2
- always
- - chore
- feat
- fix
- docs
- refactor
- perf
- test
- revert
body-max-line-length:
- 2
- always
- 200
help: |
**Possible types**:
`chore`: Change build process, tooling or dependencies.
`feat`: Adds a new feature.
`fix`: Solves a bug.
`docs`: Adds or alters documentation.
`refactor`: Rewrites code without feature, performance or bug changes.
`perf`: Improves performance.
`test`: Adds or modifies tests.
`revert`: Changes that reverting other changes
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "main"
schedule:
interval: "daily"

# Maintain dependencies for Go modules
- package-ecosystem: "gomod"
directory: "/src"
target-branch: "main"
schedule:
interval: "daily"
14 changes: 14 additions & 0 deletions .github/workflows/commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Validate Commits

on: [pull_request]

jobs:
commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@456526eec71276a59e74aafdfe06a9632ac2eee1
with:
configFile: './.commitlintrc.yml'
28 changes: 28 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Azure Static Web Apps CI/CD

on:
push:
branches:
- main
paths:
- "website/**"
workflow_dispatch:

jobs:
build_and_deploy_job:
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
with:
submodules: true
- name: Build And Deploy 🚀
id: builddeploy
uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_CALM_PEBBLE_06BC83B03 }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
app_location: "/website" # App source code path
api_location: "" # Api source code path - optional
output_location: "build" # Built app content directory - optional
77 changes: 77 additions & 0 deletions .github/workflows/inno.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Inno
on:
release:
types: [published]

jobs:
publish:
runs-on: windows-latest
strategy:
matrix:
arch: [amd64, arm64, 386]
defaults:
run:
shell: pwsh
working-directory: ${{ github.workspace }}/packages/inno
steps:
- name: Checkout code 👋
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Build installer 📦
id: build
env:
CERTIFICATE: ${{ secrets.CERTIFICATE }}
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
run: |
$version = $env:GITHUB_REF.TrimStart("refs/tags/v")
./build.ps1 -Architecture ${{ matrix.arch }} -Version $version
- name: Upload artifacts 🆙
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
console.log('environment', process.versions);
const fs = require('fs').promises;
const { repo: { owner, repo }, sha } = context;
console.log({ owner, repo, sha });
for (let file of await fs.readdir('./packages/inno/Output')) {
console.log('uploading', file);
await github.rest.repos.uploadReleaseAsset({
owner, repo,
release_id: ${{ github.event.release.id }},
name: file,
data: await fs.readFile(`./packages/inno/Output/${file}`)
});
}
notify:
runs-on: ubuntu-latest
needs: publish
steps:
- name: Notify Winget Build 🙋🏾‍♀️
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410
with:
github-token: ${{ secrets.GH_PAT }}
script: |
await github.request('POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches', {
owner: 'jandedobbeleer',
repo: '${{ github.event.repository.name }}',
workflow_id: 'winget.yml',
ref: 'main',
inputs: {"version": process.env.GITHUB_REF.replace('refs/tags/v', '')}
})
- name: Notify Scoop Build 🤙
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410
with:
github-token: ${{ secrets.GH_PAT }}
script: |
await github.request('POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches', {
owner: 'jandedobbeleer',
repo: '${{ github.event.repository.name }}',
workflow_id: 'scoop.yml',
ref: 'main',
inputs: {"version": process.env.GITHUB_REF.replace('refs/tags/v', ''), "release": "${{ github.event.release.id }}" }
})
67 changes: 67 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Release

on:
push:
branches:
- main
paths:
- 'src/**'
- 'packages/**'
- '.github/workflows/**'

jobs:
changelog:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.changelog.outputs.version }}
body: ${{ steps.changelog.outputs.clean_changelog }}
tag: ${{ steps.changelog.outputs.tag }}
skipped: ${{ steps.changelog.outputs.skipped }}
steps:
- name: Checkout code 👋
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Create changelog ✍️
id: changelog
uses: TriPSs/conventional-changelog-action@dd19d7c07e5f620b2d6f48d547148a4b6b29e92f
with:
github-token: ${{ secrets.github_token }}
skip-version-file: "true"
output-file: "false"
skip-commit: "true"
skip-on-empty: "true"
artifacts:
needs: changelog
if: ${{ needs.changelog.outputs.skipped == 'false' }}
runs-on: ubuntu-latest
defaults:
run:
shell: pwsh
working-directory: ${{ github.workspace }}/src
steps:
- name: Checkout code 👋
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install Go 🗳
uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753
with:
go-version: '1.20'
- name: Tag HEAD 😸
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git tag ${{ needs.changelog.outputs.tag }}
- name: Run GoReleaser 🚀
uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7
with:
distribution: goreleaser
version: latest
args: build --rm-dist
workdir: src
- name: Release 🎓
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844
with:
tag_name: ${{ needs.changelog.outputs.tag }}
body: ${{ needs.changelog.outputs.body }}
fail_on_unmatched_files: true
token: ${{ secrets.GH_PAT }}
files: |
src/dist/aliae-*
42 changes: 42 additions & 0 deletions .github/workflows/scoop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Scoop
on:
workflow_dispatch:
inputs:
version:
description: 'The latest version'
required: true
release:
description: 'The release id'
required: true

jobs:
publish:
runs-on: ubuntu-latest
defaults:
run:
shell: pwsh
working-directory: ${{ github.workspace }}/packages/scoop
steps:
- name: Checkout code 👋
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Update Template ✍️
run: |
./build.ps1 -Version ${{ github.event.inputs.version }}
- name: Upload artifacts 🆙
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
console.log('environment', process.versions);
const fs = require('fs').promises;
const { repo: { owner, repo }, sha } = context;
console.log({ owner, repo, sha });
await github.rest.repos.uploadReleaseAsset({
owner, repo,
release_id: ${{ github.event.inputs.release }},
name: 'aliae.json',
data: await fs.readFile('./packages/scoop/dist/aliae.json')
});
23 changes: 23 additions & 0 deletions .github/workflows/winget.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Winget
on:
workflow_dispatch:
inputs:
version:
description: 'The latest version'
required: true

jobs:
publish:
runs-on: windows-latest
defaults:
run:
shell: pwsh
working-directory: ${{ github.workspace }}/packages/winget
env:
WINGETCREATE_TOKEN: ${{ secrets.WINGETCREATE_TOKEN }}
steps:
- name: Checkout code 👋
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Create manifest and submit PR 📦
run: |
./build.ps1 -Version "${{ github.event.inputs.version }}" -Token $env:WINGETCREATE_TOKEN
Loading

0 comments on commit 1040180

Please sign in to comment.