From 6e2eeb9e6562e9330024aa3bcb393d223713e40e Mon Sep 17 00:00:00 2001 From: Stephanie Gawroriski Date: Tue, 10 Jun 2025 19:20:50 -0400 Subject: [PATCH 1/7] Update known-instances.md to include SquirrelJME (#643) Include SquirrelJME, which is an emulator for Java ME 8. Signed-off-by: Stephanie Gawroriski --- docs/docs/user/known-instances.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/docs/user/known-instances.md b/docs/docs/user/known-instances.md index 2e5a3cd..97b3223 100644 --- a/docs/docs/user/known-instances.md +++ b/docs/docs/user/known-instances.md @@ -41,6 +41,7 @@ This page contains a non-exhaustive list with all websites using Anubis. - https://minihoot.site - https://catgirl.click/ - https://wiki.dolphin-emu.org/ +- https://squirreljme.cc/ -
FreeCAD - https://forum.freecad.org/ From bbdee34f377148309eab46b441d189ccca92f43c Mon Sep 17 00:00:00 2001 From: Jason Cameron Date: Wed, 11 Jun 2025 12:47:06 -0400 Subject: [PATCH 2/7] fix(anubis): improve challenge handling and error reporting (#645) --- lib/anubis.go | 12 ++++++------ lib/config.go | 5 ++++- test/go.mod | 6 +++--- test/go.sum | 3 +++ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/anubis.go b/lib/anubis.go index 499747a..bd4038f 100644 --- a/lib/anubis.go +++ b/lib/anubis.go @@ -288,15 +288,15 @@ func (s *Server) MakeChallenge(w http.ResponseWriter, r *http.Request) { return } lg = lg.With("check_result", cr) - challenge := s.challengeFor(r, rule.Challenge.Difficulty) + chal := s.challengeFor(r, rule.Challenge.Difficulty) - s.SetCookie(w, anubis.TestCookieName, challenge, "/") + s.SetCookie(w, anubis.TestCookieName, chal, "/") err = encoder.Encode(struct { Rules *config.ChallengeRules `json:"rules"` Challenge string `json:"challenge"` }{ - Challenge: challenge, + Challenge: chal, Rules: rule.Challenge, }) if err != nil { @@ -304,7 +304,7 @@ func (s *Server) MakeChallenge(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) return } - lg.Debug("made challenge", "challenge", challenge, "rules", rule.Challenge, "cr", cr) + lg.Debug("made challenge", "challenge", chal, "rules", rule.Challenge, "cr", cr) challengesIssued.WithLabelValues("api").Inc() } @@ -317,7 +317,7 @@ func (s *Server) PassChallenge(w http.ResponseWriter, r *http.Request) { cookiePath = strings.TrimSuffix(anubis.BasePrefix, "/") + "/" } - if _, err := r.Cookie(anubis.TestCookieName); err == http.ErrNoCookie { + if _, err := r.Cookie(anubis.TestCookieName); errors.Is(err, http.ErrNoCookie) { s.ClearCookie(w, s.cookieName, cookiePath) s.ClearCookie(w, anubis.TestCookieName, "/") lg.Warn("user has cookies disabled, this is not an anubis bug") @@ -365,7 +365,7 @@ func (s *Server) PassChallenge(w http.ResponseWriter, r *http.Request) { challengeStr := s.challengeFor(r, rule.Challenge.Difficulty) if err := impl.Validate(r, lg, rule, challengeStr); err != nil { - failedValidations.WithLabelValues(string(rule.Challenge.Algorithm)).Inc() + failedValidations.WithLabelValues(rule.Challenge.Algorithm).Inc() var cerr *challenge.Error s.ClearCookie(w, s.cookieName, cookiePath) lg.Debug("challenge validate call failed", "err", err) diff --git a/lib/config.go b/lib/config.go index f1f8d4e..06d613c 100644 --- a/lib/config.go +++ b/lib/config.go @@ -67,6 +67,9 @@ func LoadPoliciesOrDefault(fname string, defaultDifficulty int) (*policy.ParsedC }(fin) anubisPolicy, err := policy.ParseConfig(fin, fname, defaultDifficulty) + if err != nil { + return nil, fmt.Errorf("can't parse policy file %s: %w", fname, err) + } var validationErrs []error for _, b := range anubisPolicy.Bots { @@ -154,7 +157,7 @@ func New(opts Options) (*Server, error) { // make-challenge is only used in tests. Only enable while version is devel registerWithPrefix(anubis.APIPrefix+"make-challenge", http.HandlerFunc(result.MakeChallenge), "POST") } - + for _, implKind := range challenge.Methods() { impl, _ := challenge.Get(implKind) impl.Setup(mux) diff --git a/test/go.mod b/test/go.mod index 588a648..45f5e36 100644 --- a/test/go.mod +++ b/test/go.mod @@ -12,7 +12,7 @@ require ( require ( cel.dev/expr v0.24.0 // indirect - github.com/a-h/templ v0.3.865 // indirect + github.com/a-h/templ v0.3.898 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -32,9 +32,9 @@ require ( github.com/stoewer/go-strcase v1.3.0 // indirect github.com/yl2chen/cidranger v1.0.2 // indirect golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect - golang.org/x/net v0.40.0 // indirect + golang.org/x/net v0.41.0 // indirect golang.org/x/sys v0.33.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/text v0.26.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect google.golang.org/protobuf v1.36.6 // indirect diff --git a/test/go.sum b/test/go.sum index afdbd39..8e057af 100644 --- a/test/go.sum +++ b/test/go.sum @@ -2,6 +2,7 @@ cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= github.com/a-h/templ v0.3.865 h1:nYn5EWm9EiXaDgWcMQaKiKvrydqgxDUtT1+4zU2C43A= github.com/a-h/templ v0.3.865/go.mod h1:oLBbZVQ6//Q6zpvSMPTuBK0F3qOtBdFBcGRspcT+VNQ= +github.com/a-h/templ v0.3.898/go.mod h1:oLBbZVQ6//Q6zpvSMPTuBK0F3qOtBdFBcGRspcT+VNQ= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -73,10 +74,12 @@ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= From f5140ae57b63b5f2e8b521d8f9fa2e5fa882b929 Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Wed, 11 Jun 2025 12:50:01 -0400 Subject: [PATCH 3/7] test: introduce SSH based CI for non-native test hosts (#644) * feat: ssh based CI Signed-off-by: Xe Iaso * test: implement SSH ci with caches and github actions Signed-off-by: Xe Iaso * test(ssh-ci): fix known hosts secret Signed-off-by: Xe Iaso * test(ssh-ci): clone the repo, that's important Signed-off-by: Xe Iaso * chore: spelling Signed-off-by: Xe Iaso * test(ssh-ci): speed up ci by prebaking the SSH CI image Signed-off-by: Xe Iaso * test(ssh-ci): set -euo Signed-off-by: Xe Iaso * test(ssh-ci): enable pull_request_target so things work Signed-off-by: Xe Iaso * chore: spelling Signed-off-by: Xe Iaso * test(ssh-ci): oh goody it's broken Signed-off-by: Xe Iaso * test(ssh-ci): add cronjob to rebuild ci runner image Signed-off-by: Xe Iaso * test(ssh-ci): also run yeet Signed-off-by: Xe Iaso * test(ssh-ci): force git version for yeet Signed-off-by: Xe Iaso * test(ssh-ci): run set -x in the container Signed-off-by: Xe Iaso * test(ssh-ci): fix yeet? Signed-off-by: Xe Iaso * test(ssh-ci): remove yeet for now Signed-off-by: Xe Iaso * test(ssh-ci): disable for PRs for now Signed-off-by: Xe Iaso --------- Signed-off-by: Xe Iaso --- .github/actions/spelling/expect.txt | 4 +++ .github/workflows/docker.yml | 7 ++--- .github/workflows/ssh-ci-runner-cron.yml | 36 ++++++++++++++++++++++++ .github/workflows/ssh-ci.yml | 36 ++++++++++++++++++++++++ test/ssh-ci/Dockerfile | 5 ++++ test/ssh-ci/docker-bake.hcl | 26 +++++++++++++++++ test/ssh-ci/in-container.sh | 8 ++++++ test/ssh-ci/rigging.sh | 33 ++++++++++++++++++++++ 8 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/ssh-ci-runner-cron.yml create mode 100644 .github/workflows/ssh-ci.yml create mode 100644 test/ssh-ci/Dockerfile create mode 100644 test/ssh-ci/docker-bake.hcl create mode 100644 test/ssh-ci/in-container.sh create mode 100644 test/ssh-ci/rigging.sh diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 843b4a7..7d0e6ed 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -6,6 +6,7 @@ amazonbot anthro anubis anubistest +apk Applebot archlinux badregexes @@ -68,6 +69,7 @@ duckduckbot eerror ellenjoe enbyware +euo everyones evilbot evilsite @@ -117,6 +119,7 @@ imgproxy inp iss isset +itv ivh Jenomis JGit @@ -246,6 +249,7 @@ traefik uberspace unixhttpd unmarshal +uuidgen uvx UXP Varis diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2722ae6..772cafc 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,8 +3,8 @@ name: Docker image builds on: workflow_dispatch: push: - branches: [ "main" ] - tags: [ "v*" ] + branches: ["main"] + tags: ["v*"] env: DOCKER_METADATA_SET_OUTPUT_ENV: "true" @@ -55,7 +55,7 @@ jobs: run: | brew bundle - - name: Log into registry + - name: Log into registry uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 with: registry: ghcr.io @@ -77,7 +77,6 @@ jobs: DOCKER_REPO: ${{ env.IMAGE }} SLOG_LEVEL: debug - - name: Generate artifact attestation uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0 with: diff --git a/.github/workflows/ssh-ci-runner-cron.yml b/.github/workflows/ssh-ci-runner-cron.yml new file mode 100644 index 0000000..2a7f6c7 --- /dev/null +++ b/.github/workflows/ssh-ci-runner-cron.yml @@ -0,0 +1,36 @@ +name: Regenerate ssh ci runner image + +on: + # pull_request: + # branches: ["main"] + schedule: + - cron: "0 0 1,8,15,22 * *" + workflow_dispatch: + +permissions: + pull-requests: write + contents: write + packages: write + +jobs: + ssh-ci-rebuild: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-tags: true + fetch-depth: 0 + persist-credentials: false + - name: Log into registry + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 + - name: Build and push + run: | + cd ./test/ssh-ci + docker buildx bake --push diff --git a/.github/workflows/ssh-ci.yml b/.github/workflows/ssh-ci.yml new file mode 100644 index 0000000..5ce3ab9 --- /dev/null +++ b/.github/workflows/ssh-ci.yml @@ -0,0 +1,36 @@ +name: SSH CI + +on: + push: + branches: ["main"] + # pull_request: + # branches: ["main"] + +permissions: + contents: read + +jobs: + ssh: + runs-on: ubuntu-24.04 + strategy: + matrix: + host: + - ubuntu@riscv64.techaro.lol + - ci@ppc64le.techaro.lol + steps: + - name: Checkout code + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-tags: true + fetch-depth: 0 + persist-credentials: false + - name: Install CI target SSH key + uses: shimataro/ssh-key-action@d4fffb50872869abe2d9a9098a6d9c5aa7d16be4 # v2.7.0 + with: + key: ${{ secrets.CI_SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.CI_SSH_KNOWN_HOSTS }} + - name: Run CI + run: bash test/ssh-ci/rigging.sh ${{ matrix.host }} + env: + GITHUB_RUN_ID: ${{ github.run_id }} diff --git a/test/ssh-ci/Dockerfile b/test/ssh-ci/Dockerfile new file mode 100644 index 0000000..652749d --- /dev/null +++ b/test/ssh-ci/Dockerfile @@ -0,0 +1,5 @@ +ARG ALPINE_VERSION=3.22 + +FROM alpine:${ALPINE_VERSION} +RUN apk add -U go nodejs git build-base git npm bash zstd brotli gzip +LABEL org.opencontainers.image.source="https://github.com/TecharoHQ/anubis" \ No newline at end of file diff --git a/test/ssh-ci/docker-bake.hcl b/test/ssh-ci/docker-bake.hcl new file mode 100644 index 0000000..eb72fac --- /dev/null +++ b/test/ssh-ci/docker-bake.hcl @@ -0,0 +1,26 @@ +variable "ALPINE_VERSION" { default = "3.22" } + +group "default" { + targets = [ + "ci-runner", + ] +} + +target "ci-runner" { + args = { + ALPINE_VERSION = "3.22" + } + context = "." + dockerfile = "./Dockerfile" + platforms = [ + "linux/amd64", + "linux/arm64", + "linux/arm/v7", + "linux/ppc64le", + "linux/riscv64", + ] + pull = true + tags = [ + "ghcr.io/techarohq/anubis/ci-runner:latest" + ] +} \ No newline at end of file diff --git a/test/ssh-ci/in-container.sh b/test/ssh-ci/in-container.sh new file mode 100644 index 0000000..db93cf2 --- /dev/null +++ b/test/ssh-ci/in-container.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env sh + +set -euo pipefail +set -x + +npm ci +npm run build +SKIP_INTEGRATION=1 go test ./... \ No newline at end of file diff --git a/test/ssh-ci/rigging.sh b/test/ssh-ci/rigging.sh new file mode 100644 index 0000000..9aebdb5 --- /dev/null +++ b/test/ssh-ci/rigging.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -euo pipefail +[ ! -z "${DEBUG:-}" ] && set -x + +if [ "$#" -ne 1 ]; then + echo "Usage: rigging.sh " +fi + +CIRunnerImage="ghcr.io/techarohq/anubis/ci-runner:latest" +RunID=${GITHUB_RUN_ID:-$(uuidgen)} +RunFolder="anubis/runs/${RunID}" +Target="${1}" + +ssh "${Target}" uname -av +ssh "${Target}" mkdir -p "${RunFolder}" +git archive HEAD | ssh "${Target}" tar xC "${RunFolder}" + +ssh "${Target}" << EOF + set -euo pipefail + set -x + mkdir -p "anubis/cache/{go,go-build,node}" + podman pull ${CIRunnerImage} + podman run --rm -it \ + -v "\$HOME/${RunFolder}:/app/anubis" \ + -v "\$HOME/anubis/cache/go:/root/go" \ + -v "\$HOME/anubis/cache/go-build:/root/.cache/go-build" \ + -v "\$HOME/anubis/cache/node:/root/.npm" \ + -w /app/anubis \ + ${CIRunnerImage} \ + sh /app/anubis/test/ssh-ci/in-container.sh + ssh "${Target}" rm -rf "${RunFolder}" +EOF \ No newline at end of file From 988fc0941bc1a861d7214a83393949446779f190 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 16:52:10 +0000 Subject: [PATCH 4/7] build(deps): bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 (#650) Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.0 to 1.6.1. - [Release notes](https://github.com/cloudflare/circl/releases) - [Commits](https://github.com/cloudflare/circl/compare/v1.6.0...v1.6.1) --- updated-dependencies: - dependency-name: github.com/cloudflare/circl dependency-version: 1.6.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 051f04a..0cf1be6 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cli/browser v1.3.0 // indirect github.com/cli/go-gh v0.1.0 // indirect - github.com/cloudflare/circl v1.6.0 // indirect + github.com/cloudflare/circl v1.6.1 // indirect github.com/cyphar/filepath-securejoin v0.4.1 // indirect github.com/deckarep/golang-set/v2 v2.8.0 // indirect github.com/dlclark/regexp2 v1.11.4 // indirect diff --git a/go.sum b/go.sum index 2012f58..b695e71 100644 --- a/go.sum +++ b/go.sum @@ -63,8 +63,8 @@ github.com/cli/go-gh v0.1.0 h1:kMqFmC3ECBrV2UKzlOHjNOTTchExVc5tjNHtCqk/zYk= github.com/cli/go-gh v0.1.0/go.mod h1:eTGWl99EMZ+3Iau5C6dHyGAJRRia65MtdBtuhWc+84o= github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/cli/shurcooL-graphql v0.0.1/go.mod h1:U7gCSuMZP/Qy7kbqkk5PrqXEeDgtfG5K+W+u8weorps= -github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk= -github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= +github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= From 5e95da6b6c820bd12b96e06c732dc9000dbaa81e Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Wed, 11 Jun 2025 12:58:32 -0400 Subject: [PATCH 5/7] test(ssh-ci): disable GOARCH=ppc64le for now Signed-off-by: Xe Iaso --- .github/workflows/ssh-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ssh-ci.yml b/.github/workflows/ssh-ci.yml index 5ce3ab9..d892631 100644 --- a/.github/workflows/ssh-ci.yml +++ b/.github/workflows/ssh-ci.yml @@ -16,7 +16,7 @@ jobs: matrix: host: - ubuntu@riscv64.techaro.lol - - ci@ppc64le.techaro.lol + #- ci@ppc64le.techaro.lol # XXX(Xe 2025-06-11 16:58): This seems to be broken for now, emailed Taptor CS for advice steps: - name: Checkout code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From d1452b6d394e3e82b4b0f6243865295e25fb3bfb Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Wed, 11 Jun 2025 14:01:48 -0400 Subject: [PATCH 6/7] test(ssh-ci): re-enable GOARCH=ppc64le (#651) This reverts commit 5e95da6b6c820bd12b96e06c732dc9000dbaa81e. --- .github/workflows/ssh-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ssh-ci.yml b/.github/workflows/ssh-ci.yml index d892631..5ce3ab9 100644 --- a/.github/workflows/ssh-ci.yml +++ b/.github/workflows/ssh-ci.yml @@ -16,7 +16,7 @@ jobs: matrix: host: - ubuntu@riscv64.techaro.lol - #- ci@ppc64le.techaro.lol # XXX(Xe 2025-06-11 16:58): This seems to be broken for now, emailed Taptor CS for advice + - ci@ppc64le.techaro.lol steps: - name: Checkout code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 From 14c80483a9b2e0f54d6298307b4e7beb65930461 Mon Sep 17 00:00:00 2001 From: Jason Cameron Date: Wed, 11 Jun 2025 17:00:37 -0400 Subject: [PATCH 7/7] fix(gitattributes): update pattern for generated files (#652) Signed-off-by: Jason Cameron --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 70e1a30..3a56398 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -web/index_templ.go linguist-generated +**/*_templ.go linguist-generated=true