mirror of
https://github.com/ivuorinen/.github.git
synced 2026-01-26 03:13:57 +00:00
Added workflows & moved stuff around
This commit is contained in:
41
.editorconfig
Normal file
41
.editorconfig
Normal file
@@ -0,0 +1,41 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
max_line_length = 160
|
||||
tab_width = 2
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.css]
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
|
||||
[{*.sass,*.scss}]
|
||||
tab_width = 4
|
||||
|
||||
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,phpunit.xml.dist}]
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
|
||||
[{*.ats,*.cts,*.mts,*.ts}]
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
|
||||
[{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml,application,branch-usage-checker}]
|
||||
indent_size = 4
|
||||
max_line_length = 110
|
||||
tab_width = 4
|
||||
|
||||
[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,bowerrc,composer.lock,jest.config}]
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
|
||||
[{*.mk,GNUmakefile,makefile}]
|
||||
tab_width = 4
|
||||
|
||||
[{*.tf,*.tfvars}]
|
||||
tab_width = 4
|
||||
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
||||
* @ivuorinen
|
||||
88
.github/labels.yml
vendored
Normal file
88
.github/labels.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
- 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: "translations"
|
||||
color: d4c5f9
|
||||
description: "Impacts translations."
|
||||
|
||||
- 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."
|
||||
0
renovate.json → .github/renovate.json
vendored
0
renovate.json → .github/renovate.json
vendored
3
.github/workflows/composer-install.yml
vendored
3
.github/workflows/composer-install.yml
vendored
@@ -1,3 +1,4 @@
|
||||
---
|
||||
name: Run Composer Install
|
||||
|
||||
on:
|
||||
@@ -14,7 +15,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ['ubuntu-latest']
|
||||
php-versions: ['8.0', '8.1']
|
||||
php-versions: ['8.0', '8.1', '8.2']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
1
.github/workflows/compress-images.yml
vendored
1
.github/workflows/compress-images.yml
vendored
@@ -1,3 +1,4 @@
|
||||
---
|
||||
# Compress images on demand (workflow_dispatch), and at 11pm every Sunday (schedule).
|
||||
# Open a Pull Request if any images can be compressed.
|
||||
name: Compress Images on Demand
|
||||
|
||||
1
.github/workflows/dependency-review.yml
vendored
1
.github/workflows/dependency-review.yml
vendored
@@ -1,3 +1,4 @@
|
||||
---
|
||||
# Dependency Review Action
|
||||
#
|
||||
# This Action will scan dependency manifest files that change as part of a Pull Request,
|
||||
|
||||
55
.github/workflows/laravel-phpunit.yml
vendored
Normal file
55
.github/workflows/laravel-phpunit.yml
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
name: Laravel Setup and Composer test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
laravel-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.1'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: "Check file existence"
|
||||
id: check_files
|
||||
uses: andstor/file-existence-action@v2
|
||||
with:
|
||||
files: "package.json, artisan"
|
||||
|
||||
- name: Copy .env
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||
|
||||
- name: Install Dependencies
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
|
||||
|
||||
- name: Generate key
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
run: php artisan key:generate
|
||||
|
||||
- name: Directory Permissions
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
run: chmod -R 777 storage bootstrap/cache
|
||||
|
||||
- name: Create Database
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
run: |
|
||||
mkdir -p database
|
||||
touch database/database.sqlite
|
||||
|
||||
- name: Execute composer test (Unit and Feature tests)
|
||||
if: steps.check_files.outputs.files_exists == 'true'
|
||||
env:
|
||||
DB_CONNECTION: sqlite
|
||||
DB_DATABASE: database/database.sqlite
|
||||
run: composer test
|
||||
1
.github/workflows/pr-compress-images.yml
vendored
1
.github/workflows/pr-compress-images.yml
vendored
@@ -1,3 +1,4 @@
|
||||
---
|
||||
name: Compress Images
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
16
.github/workflows/release-drafter.yml
vendored
Normal file
16
.github/workflows/release-drafter.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
name: Release Drafter
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
name: ✏️ Draft release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🚀 Run Release Drafter
|
||||
uses: release-drafter/release-drafter@v5.23.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
52
.github/workflows/reviewdog-linters.yml
vendored
Normal file
52
.github/workflows/reviewdog-linters.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: Reviewdog Linters
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
linters:
|
||||
name: Linters
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: GitHub Actions
|
||||
uses: reviewdog/action-actionlint@v1
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: detect-secrets
|
||||
uses: reviewdog/action-detect-secrets@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: markdownlint
|
||||
uses: reviewdog/action-markdownlint@v0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: shfmt
|
||||
uses: reviewdog/action-shfmt@v1
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
shfmt_flags: |
|
||||
--find
|
||||
--list
|
||||
--write
|
||||
--diff
|
||||
--simplify
|
||||
--language-dialect bash
|
||||
--indent 2
|
||||
--binary-next-line
|
||||
--case-indent
|
||||
--space-redirects
|
||||
--func-next-line
|
||||
|
||||
- name: yamllint
|
||||
uses: reviewdog/action-yamllint@v1
|
||||
with:
|
||||
github_token: ${{ secrets.github_token }}
|
||||
reporter: github-pr-review
|
||||
41
.github/workflows/stale.yml
vendored
Normal file
41
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
name: Stale
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 8 * * *"
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
name: 🧹 Clean up stale issues and PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🚀 Run stale
|
||||
uses: actions/stale@v8.0.0
|
||||
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.
|
||||
39
.github/workflows/sync-labels-to-own-projects.yml
vendored
Normal file
39
.github/workflows/sync-labels-to-own-projects.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Sync labels to other repositories
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .github/labels.yml
|
||||
|
||||
jobs:
|
||||
sync-labels:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
repos: ${{ steps.repos.outputs.REPOS }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get Repositories
|
||||
id: repos
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
REPOS="$(
|
||||
gh repo list ivuorinen \
|
||||
--no-archived \
|
||||
--source \
|
||||
--limit 15 \
|
||||
--json nameWithOwner -q '.[] | .nameWithOwner' \
|
||||
| sed 's|\"||'
|
||||
)"
|
||||
|
||||
echo "REPOS='$REPOS'" >> $GITHUB_ENV
|
||||
|
||||
- uses: micnncim/action-label-syncer@v1
|
||||
with:
|
||||
prune: false
|
||||
repository: ${{ needs.sync-labels.outputs.repos }}
|
||||
token: ${{ secrets.PERSONAL_TOKEN }}
|
||||
31
.github/workflows/sync-labels.yml
vendored
Normal file
31
.github/workflows/sync-labels.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
name: Sync labels
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- .github/labels.yml
|
||||
schedule:
|
||||
- cron: "34 5 * * *"
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
labels:
|
||||
name: ♻️ Sync labels
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: ⤵️ Download latest labels definitions
|
||||
run: |
|
||||
curl -s --retry 5 \
|
||||
"https://raw.githubusercontent.com/ivuorinen/.github/main/.github/labels.yml" \
|
||||
> labels.yml
|
||||
- name: 🚀 Run Label Syncer
|
||||
uses: micnncim/action-label-syncer@v1.3.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
manifest: labels.yml
|
||||
15
.yamllint.yml
Normal file
15
.yamllint.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
extends: default
|
||||
|
||||
ignore-from-file: .gitignore
|
||||
|
||||
yaml-files:
|
||||
- '*.yaml'
|
||||
- '*.yml'
|
||||
- '.yamllint.yml'
|
||||
|
||||
rules:
|
||||
line-length:
|
||||
max: 120
|
||||
level: warning
|
||||
truthy: disable
|
||||
@@ -9,13 +9,13 @@ Actions should be linked using the `uses` keyword. Read more from the Reusing wo
|
||||
```yml
|
||||
jobs:
|
||||
CompressImages:
|
||||
uses: ivuorinen/.github/.github/workflows/compress-images.yml
|
||||
uses: ivuorinen/.github/workflows/compress-images.yml
|
||||
|
||||
ReusableMatrixJobForComposerInstall:
|
||||
strategy:
|
||||
matrix:
|
||||
target: ['8.0', '8.1']
|
||||
uses: ivuorinen/.github/.github/workflows/composer-install.yml@main
|
||||
target: ['8.0', '8.1', '8.2']
|
||||
uses: ivuorinen/.github/workflows/composer-install.yml@main
|
||||
with:
|
||||
php-versions: ${{ matrix.target }}
|
||||
```
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
### Renovate config
|
||||
|
||||
Go through [the onboarding process](https://docs.renovatebot.com/getting-started/installing-onboarding/) and save the following snippet as `renovate.json` in the project root.
|
||||
Go through [the onboarding process](https://docs.renovatebot.com/getting-started/installing-onboarding/) and save the following snippet as `.github/renovate.json`.
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
@@ -1,46 +1,53 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"description": "Renovate config for projects ivuorinen manages",
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"description": "Renovate config for projects ivuorinen manages",
|
||||
"extends": [
|
||||
"config:base",
|
||||
":preserveSemverRanges",
|
||||
":enableVulnerabilityAlerts",
|
||||
":semanticCommits",
|
||||
":labels(dependencies)",
|
||||
":maintainLockFilesWeekly",
|
||||
"schedule:nonOfficeHours",
|
||||
"docker:disableMajor",
|
||||
"npm:unpublishSafe",
|
||||
"group:recommended",
|
||||
"replacements:all",
|
||||
"workarounds:all"
|
||||
],
|
||||
"dependencyDashboardLabels": [
|
||||
"no-stale"
|
||||
],
|
||||
"lockFileMaintenance": {
|
||||
"extends": [
|
||||
"config:base",
|
||||
":preserveSemverRanges",
|
||||
":enableVulnerabilityAlerts",
|
||||
":semanticCommits",
|
||||
":labels(dependencies)",
|
||||
":maintainLockFilesWeekly",
|
||||
"schedule:nonOfficeHours",
|
||||
"docker:disableMajor",
|
||||
"npm:unpublishSafe",
|
||||
"group:recommended",
|
||||
"replacements:all",
|
||||
"workarounds:all"
|
||||
"group:all"
|
||||
],
|
||||
"lockFileMaintenance": {
|
||||
"extends": [
|
||||
"group:all"
|
||||
],
|
||||
"commitMessageAction": "Update"
|
||||
"commitMessageAction": "Update"
|
||||
},
|
||||
"packageRules": [
|
||||
{
|
||||
"matchUpdateTypes": [
|
||||
"patch"
|
||||
],
|
||||
"matchCurrentVersion": "!/^0/",
|
||||
"groupName": "devDependencies (patch)",
|
||||
"automerge": true
|
||||
},
|
||||
"packageRules": [
|
||||
{
|
||||
"matchUpdateTypes": ["patch"],
|
||||
"matchCurrentVersion": "!/^0/",
|
||||
"groupName": "devDependencies (patch)",
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": ["eslint"],
|
||||
"groupName": "eslint"
|
||||
}
|
||||
],
|
||||
"digest": {
|
||||
"enabled": false
|
||||
},
|
||||
"separateMinorPatch": false,
|
||||
"separateMajorMinor": true,
|
||||
"separateMultipleMajor": true,
|
||||
"vulnerabilityAlerts": {
|
||||
"enabled": true
|
||||
},
|
||||
"commitBody": "Signed-off-by: {{{gitAuthor}}}"
|
||||
{
|
||||
"matchPackagePatterns": [
|
||||
"eslint"
|
||||
],
|
||||
"groupName": "eslint"
|
||||
}
|
||||
],
|
||||
"digest": {
|
||||
"enabled": false
|
||||
},
|
||||
"separateMinorPatch": false,
|
||||
"separateMajorMinor": true,
|
||||
"separateMultipleMajor": true,
|
||||
"vulnerabilityAlerts": {
|
||||
"enabled": true
|
||||
},
|
||||
"commitBody": "Signed-off-by: {{{gitAuthor}}}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user