committed by
GitHub
365 changed files with 5555 additions and 2368 deletions
@ -0,0 +1,30 @@ |
|||||
|
{ |
||||
|
"name": "BASH Dev Container", |
||||
|
"image": "mcr.microsoft.com/devcontainers/base:ubuntu", |
||||
|
"features": { |
||||
|
"ghcr.io/devcontainers-community/npm-features/prettier:1": { |
||||
|
"plugins": "prettier-plugin-sh" |
||||
|
}, |
||||
|
"ghcr.io/devcontainers-extra/features/actionlint:1": {}, |
||||
|
"ghcr.io/devcontainers-extra/features/checkov:1": {}, |
||||
|
"ghcr.io/devcontainers-extra/features/markdownlint-cli:1": {}, |
||||
|
"ghcr.io/devcontainers-extra/features/shellcheck:1": {}, |
||||
|
"ghcr.io/devcontainers-extra/features/yamllint:2": {}, |
||||
|
"ghcr.io/devcontainers/features/github-cli:1": {} |
||||
|
}, |
||||
|
"customizations": { |
||||
|
"vscode": { |
||||
|
"extensions": [ |
||||
|
"DavidAnson.vscode-markdownlint", |
||||
|
"editorconfig.editorconfig", |
||||
|
"esbenp.prettier-vscode", |
||||
|
"github.vscode-github-actions", |
||||
|
"GitHub.vscode-pull-request-github", |
||||
|
"redhat.vscode-yaml", |
||||
|
"timonwong.shellcheck", |
||||
|
"yzhang.markdown-all-in-one" |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
"postCreateCommand": "npm init -y >/dev/null 2>&1 || true && npm install --no-save prettier prettier-plugin-sh prettier-plugin-jinja-template" |
||||
|
} |
||||
@ -1,28 +1,32 @@ |
|||||
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. |
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. |
||||
# Atom: Please assure your Atom's config setting Tab Type is set to auto, otherwise Atom-EditorConfig may not work as expected. Also disable whitespace package. |
|
||||
# http://editorconfig.org/ |
# http://editorconfig.org/ |
||||
|
|
||||
root = true |
root = true |
||||
|
|
||||
[*] |
[*] |
||||
charset = utf-8 |
charset = utf-8 |
||||
indent_style = tab |
|
||||
indent_size = 4 |
|
||||
trim_trailing_whitespace = true |
|
||||
end_of_line = lf |
end_of_line = lf |
||||
insert_final_newline = true |
|
||||
|
|
||||
# YAML Files |
|
||||
[*.{yml,yaml}] |
|
||||
indent_size = 2 |
indent_size = 2 |
||||
indent_style = space |
indent_style = space |
||||
|
insert_final_newline = true |
||||
|
trim_trailing_whitespace = true |
||||
|
|
||||
# JSON Files |
# BASH Files |
||||
[*.{json,json5,webmanifest}] |
[*.sh] |
||||
|
indent_size = 4 |
||||
|
indent_style = tab |
||||
|
|
||||
|
# JSON Files (Biome formatting) |
||||
|
[*.json] |
||||
|
indent_style = tab |
||||
indent_size = 2 |
indent_size = 2 |
||||
indent_style = space |
|
||||
|
|
||||
# BASH Files |
# Steam appmanifest files (Valve ACF format) |
||||
[*.{.sh}] |
[*.acf] |
||||
indent_style = tab |
indent_style = tab |
||||
indent_size = 4 |
indent_size = 4 |
||||
|
|
||||
|
# Python |
||||
|
[*.py] |
||||
|
indent_style = space |
||||
|
indent_size = 4 |
||||
|
|||||
@ -1,12 +1,2 @@ |
|||||
# These are supported funding model platforms |
github: dgibbs64 |
||||
|
patreon: dgibbs |
||||
github: dgibbs64 # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] |
|
||||
patreon: dgibbs # Replace with a single Patreon username |
|
||||
open_collective: # Replace with a single Open Collective username |
|
||||
ko_fi: # Replace with a single Ko-fi username |
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel |
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry |
|
||||
liberapay: # Replace with a single Liberapay username |
|
||||
issuehunt: # Replace with a single IssueHunt username |
|
||||
otechie: # Replace with a single Otechie username |
|
||||
custom: # Replace with a single custom sponsorship URL |
|
||||
|
|||||
@ -1,8 +1,11 @@ |
|||||
# Set update schedule for GitHub Actions |
|
||||
version: 2 |
version: 2 |
||||
updates: |
updates: |
||||
- package-ecosystem: "github-actions" |
- package-ecosystem: "github-actions" |
||||
directory: "/" |
directory: "/" |
||||
schedule: |
schedule: |
||||
# Check for updates to GitHub Actions every weekday |
interval: "weekly" |
||||
interval: "daily" |
|
||||
|
- package-ecosystem: "devcontainers" |
||||
|
directory: "/" |
||||
|
schedule: |
||||
|
interval: weekly |
||||
|
|||||
@ -0,0 +1,11 @@ |
|||||
|
[codespell] |
||||
|
# Skip data tables that contain many short server identifiers (e.g. "fof", "nd") |
||||
|
skip = |
||||
|
lgsm/data/*.csv, |
||||
|
package-lock.json, |
||||
|
*/package-lock.json, |
||||
|
node_modules, |
||||
|
*/node_modules/* |
||||
|
|
||||
|
# Ignore common identifiers/acronyms and extensions used throughout LinuxGSM |
||||
|
ignore-words-list = distroname,fof,nd,sav,parms,ThirdParty |
||||
@ -0,0 +1,2 @@ |
|||||
|
[flake8] |
||||
|
max-line-length = 120 |
||||
@ -0,0 +1,9 @@ |
|||||
|
title = "LinuxGSM Gitleaks Config" |
||||
|
|
||||
|
[allowlist] |
||||
|
description = "Known false positives" |
||||
|
regexes = [ |
||||
|
# Google Analytics 4 Measurement Protocol API secret - not a sensitive credential, |
||||
|
# it is intentionally embedded in client-side code and is safe to be public. |
||||
|
'''apisecret="[A-Za-z0-9_\-]+"''', |
||||
|
] |
||||
@ -0,0 +1,20 @@ |
|||||
|
# Configuration for markdownlint (used by Super Linter) |
||||
|
|
||||
|
# MD041: README starts with HTML badges in this repo. |
||||
|
MD041: false |
||||
|
|
||||
|
# MD051: GitHub heading anchor generation can differ (emoji, punctuation). |
||||
|
MD051: false |
||||
|
|
||||
|
# MD013: The project documentation frequently contains long URLs/commands. |
||||
|
MD013: false |
||||
|
|
||||
|
# MD033: The main README uses inline HTML for badges. |
||||
|
MD033: false |
||||
|
|
||||
|
# MD007: Repo uses 2-space indentation for nested lists. |
||||
|
MD007: |
||||
|
indent: 2 |
||||
|
|
||||
|
# MD030: Repo mixes 1-space unordered and 2-space ordered list markers. |
||||
|
MD030: false |
||||
@ -0,0 +1 @@ |
|||||
|
disable=SC2154,SC2034 |
||||
@ -0,0 +1,25 @@ |
|||||
|
extends: default |
||||
|
|
||||
|
rules: |
||||
|
document-start: disable |
||||
|
truthy: disable |
||||
|
|
||||
|
line-length: |
||||
|
max: 200 |
||||
|
level: warning |
||||
|
allow-non-breakable-words: true |
||||
|
allow-non-breakable-inline-mappings: true |
||||
|
|
||||
|
braces: |
||||
|
min-spaces-inside: 0 |
||||
|
max-spaces-inside: 1 |
||||
|
min-spaces-inside-empty: 0 |
||||
|
max-spaces-inside-empty: 0 |
||||
|
|
||||
|
empty-lines: |
||||
|
max: 2 |
||||
|
max-start: 0 |
||||
|
max-end: 0 |
||||
|
|
||||
|
comments: |
||||
|
min-spaces-from-content: 1 |
||||
@ -0,0 +1,36 @@ |
|||||
|
name: Prettier |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: |
||||
|
push: |
||||
|
branches: |
||||
|
- "*" |
||||
|
|
||||
|
concurrency: |
||||
|
group: prettier-${{ github.ref }} |
||||
|
cancel-in-progress: true |
||||
|
|
||||
|
permissions: |
||||
|
contents: write |
||||
|
|
||||
|
jobs: |
||||
|
prettier: |
||||
|
runs-on: ubuntu-latest |
||||
|
|
||||
|
steps: |
||||
|
- name: Checkout |
||||
|
uses: actions/checkout@v6 |
||||
|
with: |
||||
|
persist-credentials: false |
||||
|
|
||||
|
- name: Install Prettier and plugins |
||||
|
run: | |
||||
|
npm install --no-save prettier prettier-plugin-sh prettier-plugin-jinja-template |
||||
|
|
||||
|
- name: Prettify code |
||||
|
uses: creyD/[email protected] |
||||
|
with: |
||||
|
prettier_plugins: "prettier-plugin-sh prettier-plugin-jinja-template" |
||||
|
prettier_options: --write . |
||||
|
github_token: ${{ secrets.GITHUB_TOKEN }} |
||||
|
commit_message: "chore(prettier): format code" |
||||
@ -0,0 +1,53 @@ |
|||||
|
name: Super Linter |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: |
||||
|
push: |
||||
|
branches: |
||||
|
- "*" |
||||
|
|
||||
|
concurrency: |
||||
|
group: super-linter-${{ github.ref }} |
||||
|
cancel-in-progress: true |
||||
|
|
||||
|
permissions: {} |
||||
|
|
||||
|
jobs: |
||||
|
build: |
||||
|
name: Lint |
||||
|
runs-on: ubuntu-latest |
||||
|
|
||||
|
permissions: |
||||
|
contents: read |
||||
|
packages: read |
||||
|
# To report GitHub Actions status checks |
||||
|
statuses: write |
||||
|
|
||||
|
steps: |
||||
|
- name: Checkout code |
||||
|
uses: actions/checkout@v6 |
||||
|
with: |
||||
|
# super-linter needs the full git history to get the |
||||
|
# list of files that changed across commits |
||||
|
fetch-depth: 0 |
||||
|
persist-credentials: false |
||||
|
|
||||
|
- name: Install Prettier plugins (for summary formatting) |
||||
|
run: | |
||||
|
npm install --no-save prettier prettier-plugin-sh prettier-plugin-jinja-template || true |
||||
|
|
||||
|
- name: Super-linter |
||||
|
uses: super-linter/super-linter@v8 |
||||
|
env: |
||||
|
# To report GitHub Actions status checks |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
|
VALIDATE_BIOME_FORMAT: false |
||||
|
VALIDATE_BIOME_LINT: false |
||||
|
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false |
||||
|
VALIDATE_JSCPD: false |
||||
|
VALIDATE_JSON_PRETTIER: false |
||||
|
VALIDATE_MARKDOWN_PRETTIER: false |
||||
|
VALIDATE_NATURAL_LANGUAGE: false |
||||
|
VALIDATE_SHELL_SHFMT: false |
||||
|
VALIDATE_TRIVY: false |
||||
|
VALIDATE_YAML_PRETTIER: false |
||||
@ -0,0 +1,29 @@ |
|||||
|
name: Update copyright year(s) in license file |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: |
||||
|
schedule: |
||||
|
- cron: "0 3 1 1 *" # 03:00 AM on January 1 |
||||
|
|
||||
|
permissions: |
||||
|
contents: write |
||||
|
|
||||
|
jobs: |
||||
|
update-license-year: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout |
||||
|
uses: actions/checkout@v6 |
||||
|
with: |
||||
|
fetch-depth: 0 |
||||
|
persist-credentials: false |
||||
|
- name: Action Update License Year |
||||
|
uses: FantasticFiasco/action-update-license-year@v3 |
||||
|
with: |
||||
|
token: ${{ secrets.GITHUB_TOKEN }} |
||||
|
path: LICENSE.md |
||||
|
- name: Merge pull request |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
|
run: | |
||||
|
gh pr merge --merge --delete-branch |
||||
@ -1,9 +1,13 @@ |
|||||
name: Trigger Docker Build |
name: Trigger Docker Build |
||||
|
|
||||
on: |
on: |
||||
|
workflow_dispatch: |
||||
release: |
release: |
||||
types: |
types: |
||||
- published |
- published |
||||
|
|
||||
|
permissions: {} |
||||
|
|
||||
jobs: |
jobs: |
||||
trigger_build_docker-linuxgsm: |
trigger_build_docker-linuxgsm: |
||||
if: github.repository_owner == 'GameServerManagers' |
if: github.repository_owner == 'GameServerManagers' |
||||
@ -11,12 +15,22 @@ jobs: |
|||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
steps: |
steps: |
||||
- name: Trigger Workflow and Wait (linuxgsm) |
- name: Trigger Workflow and Wait (linuxgsm) |
||||
uses: convictional/[email protected] |
env: |
||||
with: |
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
||||
owner: GameServerManagers |
run: | |
||||
repo: docker-linuxgsm |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ) |
||||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-linuxgsm |
||||
workflow_file_name: docker-publish.yml |
sleep 10 |
||||
|
run_id=$(gh run list \ |
||||
|
--workflow action-docker-publish.yml \ |
||||
|
--repo GameServerManagers/docker-linuxgsm \ |
||||
|
--created ">=${before}" \ |
||||
|
--limit 1 \ |
||||
|
--json databaseId \ |
||||
|
--jq '.[0].databaseId') |
||||
|
gh run watch "${run_id}" \ |
||||
|
--repo GameServerManagers/docker-linuxgsm \ |
||||
|
--exit-status |
||||
|
|
||||
trigger_build_docker-gameserver: |
trigger_build_docker-gameserver: |
||||
if: github.repository_owner == 'GameServerManagers' |
if: github.repository_owner == 'GameServerManagers' |
||||
@ -25,9 +39,19 @@ jobs: |
|||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
steps: |
steps: |
||||
- name: Trigger Workflow and Wait (gameserver) |
- name: Trigger Workflow and Wait (gameserver) |
||||
uses: convictional/[email protected] |
env: |
||||
with: |
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
||||
owner: GameServerManagers |
run: | |
||||
repo: docker-gameserver |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ) |
||||
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-gameserver |
||||
workflow_file_name: docker-publish.yml |
sleep 10 |
||||
|
run_id=$(gh run list \ |
||||
|
--workflow action-docker-publish.yml \ |
||||
|
--repo GameServerManagers/docker-gameserver \ |
||||
|
--created ">=${before}" \ |
||||
|
--limit 1 \ |
||||
|
--json databaseId \ |
||||
|
--jq '.[0].databaseId') |
||||
|
gh run watch "${run_id}" \ |
||||
|
--repo GameServerManagers/docker-gameserver \ |
||||
|
--exit-status |
||||
|
|||||
@ -1,2 +1,11 @@ |
|||||
.vscode/settings.json |
# Visual Studio Code |
||||
/node_modules |
.vscode/* |
||||
|
!.vscode/tasks.json |
||||
|
!.vscode/launch.json |
||||
|
!.vscode/extensions.json |
||||
|
!.vscode/*.code-snippets |
||||
|
.history/ |
||||
|
*.vsix |
||||
|
|
||||
|
# Node.js |
||||
|
node_modules |
||||
|
|||||
@ -0,0 +1,3 @@ |
|||||
|
# Prettier auto-commit runs with GITHUB_TOKEN (GitHub App). |
||||
|
# GitHub blocks that token from creating/updating anything under .github/workflows. |
||||
|
.github/workflows/** |
||||
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"plugins": ["prettier-plugin-sh"] |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
disable=SC2154,SC2034 |
||||
@ -1,10 +1,12 @@ |
|||||
{ |
{ |
||||
"recommendations": [ |
"recommendations": [ |
||||
"ms-python.python", |
"DavidAnson.vscode-markdownlint", |
||||
"editorconfig.editorconfig", |
"editorconfig.editorconfig", |
||||
"yzhang.markdown-all-in-one", |
|
||||
"esbenp.prettier-vscode", |
"esbenp.prettier-vscode", |
||||
|
"github.vscode-github-actions", |
||||
|
"GitHub.vscode-pull-request-github", |
||||
|
"redhat.vscode-yaml", |
||||
"timonwong.shellcheck", |
"timonwong.shellcheck", |
||||
"redhat.vscode-yaml" |
"yzhang.markdown-all-in-one" |
||||
] |
] |
||||
} |
} |
||||
|
|||||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue