Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 42 additions & 41 deletions .env.example

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bug report
description: Report a reproducible defect in Reqcore
name: Bug report
description: Report a reproducible defect in WWMate
labels:
- bug
body:
Expand Down Expand Up @@ -65,3 +65,4 @@ body:
label: Logs / screenshots
description: Paste relevant logs, stack traces, or screenshots.
render: shell

5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
blank_issues_enabled: true
blank_issues_enabled: true
contact_links:
- name: Security vulnerability report
url: mailto:security@reqcore.com
url: mailto:security@WWMate.com
about: Please report vulnerabilities privately by email.

9 changes: 5 additions & 4 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Feature request
description: Propose an improvement to Reqcore
name: Feature request
description: Propose an improvement to WWMate
labels:
- enhancement
body:
Expand All @@ -21,7 +21,7 @@ body:
id: solution
attributes:
label: Proposed solution
description: What should Reqcore do?
description: What should WWMate do?
placeholder: Add a ... page / API / workflow that ...
validations:
required: true
Expand All @@ -46,5 +46,6 @@ body:
options:
- label: I searched existing issues and did not find a duplicate.
required: true
- label: This request aligns with Reqcore's ownership/transparency/privacy direction.
- label: This request aligns with WWMate's ownership/transparency/privacy direction.
required: false

23 changes: 12 additions & 11 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Publish Docker Image
name: Publish Docker Image

on:
push:
Expand All @@ -24,18 +24,18 @@ jobs:
timeout-minutes: 30

steps:
# ── 1. Checkout (needed for path context so .dockerignore is respected) ──
# ── 1. Checkout (needed for path context so .dockerignore is respected) ──
- name: Checkout
uses: actions/checkout@v6

# ── 2. Multi-platform support ───────────────────────────────────────────
# ── 2. Multi-platform support ───────────────────────────────────────────
- name: Set up QEMU
uses: docker/setup-qemu-action@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

# ── 3. Registry authentication ─────────────────────────────────────────
# ── 3. Registry authentication ─────────────────────────────────────────
- name: Log in to GitHub Container Registry
uses: docker/login-action@v4
with:
Expand All @@ -50,22 +50,22 @@ jobs:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# ── 4. Tag & label generation ──────────────────────────────────────────
# ── 4. Tag & label generation ──────────────────────────────────────────
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v6
with:
images: |
ghcr.io/${{ github.repository }}
name=reqcore/reqcore,enable=${{ vars.DOCKERHUB_USERNAME != '' }}
name=WWMate/WWMate,enable=${{ vars.DOCKERHUB_USERNAME != '' }}
tags: |
type=edge,branch=main
type=raw,value=latest,enable={{is_default_branch}}
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha,prefix=sha-

# ── 5. Build & push ────────────────────────────────────────────────────
# ── 5. Build & push ────────────────────────────────────────────────────
- name: Build and push
id: build
uses: docker/build-push-action@v7
Expand All @@ -83,11 +83,11 @@ jobs:
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index

# ── 6. Keyless cosign signature (Sigstore OIDC) ────────────────────────
# ── 6. Keyless cosign signature (Sigstore OIDC) ────────────────────────
# Self-hosters can verify the image they pulled was actually built by
# this workflow with:
# cosign verify ghcr.io/reqcore-inc/reqcore@<digest> \
# --certificate-identity-regexp 'https://github.com/reqcore-inc/reqcore/.github/workflows/docker-publish.yml@.*' \
# cosign verify ghcr.io/WWMate-inc/WWMate@<digest> \
# --certificate-identity-regexp 'https://github.com/WWMate-inc/WWMate/.github/workflows/docker-publish.yml@.*' \
# --certificate-oidc-issuer 'https://token.actions.githubusercontent.com'
- name: Install cosign
uses: sigstore/cosign-installer@v3
Expand All @@ -100,7 +100,7 @@ jobs:
set -euo pipefail
# cosign signs by immutable digest; the tags only resolve the digest.
# We sign each unique image reference so verification works against
# any tag the user pulled (latest, semver, edge, sha-).
# any tag the user pulled (latest, semver, edge, sha-…).
# `${tag%:*}` (single %) strips only the trailing :tag so registries
# with ports (e.g. registry.local:5000/repo:tag) survive intact.
# Pipe through `sort -u` so the same image+digest is signed once
Expand All @@ -113,3 +113,4 @@ jobs:
echo "Signing ${image}@${DIGEST}"
cosign sign --yes "${image}@${DIGEST}"
done

Loading