deps(go)(deps): bump golang.org/x/crypto from 0.23.0 to 0.45.0 #11
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ReadSync CI | |
| on: | |
| push: | |
| branches: [main, "phase*"] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: "ci-${{ github.ref }}" | |
| cancel-in-progress: true | |
| jobs: | |
| # ─── Phase 0 tools ──────────────────────────────────────────────────────── | |
| tools: | |
| name: Phase 0 tools | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| cache: false | |
| - name: Vet Phase 0 tools (CGO disabled, pure Go) | |
| env: | |
| CGO_ENABLED: "0" | |
| run: | | |
| (cd tools/koreader-sim && go vet ./...) | |
| (cd tools/moon-fixture-recorder && go vet ./...) | |
| (cd tools/winsvc-spike && go vet ./...) | |
| (cd tools/generate-fixtures && go vet ./...) | |
| # ─── Phase 1 main module ────────────────────────────────────────────────── | |
| unit-tests: | |
| name: Phase 1 unit tests (no CGO) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Run pure unit tests | |
| # resolver, conflicts, logging don't need sqlite3/CGO | |
| env: | |
| CGO_ENABLED: "0" | |
| run: | | |
| go test -v -count=1 -timeout 30s \ | |
| ./internal/resolver/... \ | |
| ./internal/conflicts/... \ | |
| ./internal/logging/... | |
| integration-tests: | |
| name: Phase 1 integration tests (CGO + SQLite) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Install GCC (for go-sqlite3 CGO) | |
| run: sudo apt-get install -y gcc | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Run all tests | |
| env: | |
| CGO_ENABLED: "1" | |
| run: go test -v -count=1 -timeout 60s ./... | |
| build: | |
| name: Build Windows binaries (cross-compile) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Install Windows cross-compile toolchain | |
| run: sudo apt-get install -y gcc-mingw-w64-x86-64 | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Build readsync-service.exe | |
| env: | |
| CGO_ENABLED: "1" | |
| GOOS: windows | |
| GOARCH: amd64 | |
| CC: x86_64-w64-mingw32-gcc | |
| run: go build -v -o bin/readsync-service.exe ./cmd/readsync-service/ | |
| - name: Build readsyncctl.exe | |
| env: | |
| CGO_ENABLED: "1" | |
| GOOS: windows | |
| GOARCH: amd64 | |
| CC: x86_64-w64-mingw32-gcc | |
| run: go build -v -o bin/readsyncctl.exe ./cmd/readsyncctl/ | |
| - name: Build readsync-tray.exe | |
| env: | |
| CGO_ENABLED: "1" | |
| GOOS: windows | |
| GOARCH: amd64 | |
| CC: x86_64-w64-mingw32-gcc | |
| run: go build -v -trimpath -ldflags="-H windowsgui" -o bin/readsync-tray.exe ./cmd/readsync-tray/ | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-binaries | |
| retention-days: 14 | |
| path: bin/*.exe | |
| # ─── Phase 7 QA & Hardening ───────────────────────────────────────────────── | |
| phase7-unit: | |
| name: Phase 7 unit tests (no CGO) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Run Phase 7 unit tests | |
| env: | |
| CGO_ENABLED: "0" | |
| run: | | |
| go test -v -count=1 -timeout 60s \ | |
| ./internal/resolver/... \ | |
| ./internal/conflicts/... \ | |
| ./internal/logging/... \ | |
| ./internal/outbox/... \ | |
| ./internal/adapters/moon/... \ | |
| ./internal/setup/... \ | |
| ./internal/repair/... \ | |
| ./internal/secrets/... \ | |
| ./internal/api/... \ | |
| ./cmd/readsync-tray/... \ | |
| ./internal/adapters/calibre/opf/... \ | |
| ./internal/adapters/koreader/codec/... | |
| phase7-security: | |
| name: Phase 7 security tests (no CGO) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Run security tests | |
| env: | |
| CGO_ENABLED: "0" | |
| run: go test -v -count=1 -timeout 30s ./tests/security/... | |
| phase7-integration: | |
| name: Phase 7 integration tests (CGO) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Install GCC | |
| run: sudo apt-get install -y gcc | |
| - name: Download dependencies | |
| run: go mod tidy && go mod download | |
| - name: Run integration + calibre + koreader tests | |
| env: | |
| CGO_ENABLED: "1" | |
| run: | | |
| go test -v -count=1 -timeout 60s ./tests/integration/... | |
| go test -v -count=1 -timeout 30s ./internal/adapters/calibre/... | |
| go test -v -count=1 -timeout 30s ./internal/adapters/koreader/... | |