Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
66 lines
2.5 KiB
YAML
66 lines
2.5 KiB
YAML
# Warms the Go module cache, build cache, and CI tool binaries that server CI
|
|
# jobs restore read-only (via restore-go-cache). Runs daily on master and on
|
|
# demand, keyed on the Go version and all go.mod/go.sum files.
|
|
# server/bin is only a warm start: every consumer re-runs its install-<tool>
|
|
# prerequisite, so a binary the key doesn't cover still gets rebuilt before use.
|
|
name: Server CI Cache Warm
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 2 * * *" # Daily 2am UTC — before the nightly server CI runs
|
|
workflow_dispatch:
|
|
|
|
# Serialize scheduled and manual runs so they don't race to save the same key.
|
|
concurrency:
|
|
group: server-ci-cache-warm
|
|
cancel-in-progress: false
|
|
|
|
permissions:
|
|
contents: read
|
|
actions: write # required to save the Actions cache
|
|
|
|
jobs:
|
|
warm:
|
|
name: Warm Go Module and Build Cache
|
|
runs-on: ubuntu-22.04
|
|
# Don't let a hung run hold the concurrency group for the default 6 hours.
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Checkout mattermost project
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Check if Go cache already warm
|
|
id: go-cache-check
|
|
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
path: |
|
|
${{ runner.temp }}/go-cache/mod
|
|
${{ runner.temp }}/go-cache/build
|
|
server/bin
|
|
key: gomod-v1-${{ hashFiles('server/.go-version') }}-${{ hashFiles('**/go.mod', '**/go.sum') }}
|
|
lookup-only: true
|
|
|
|
- name: Warm cache inside build container
|
|
if: steps.go-cache-check.outputs.cache-hit != 'true'
|
|
# Populates GOMODCACHE/GOCACHE (mounted from RUNNER_TEMP) and installs
|
|
# tools to server/bin — the paths saved below.
|
|
uses: ./.github/actions/run-in-buildenv
|
|
with:
|
|
run: make go-cache
|
|
|
|
- name: Fix file ownership (Docker writes files as root)
|
|
if: steps.go-cache-check.outputs.cache-hit != 'true'
|
|
run: sudo chown -R "$USER:$USER" "${RUNNER_TEMP}/go-cache" server/bin
|
|
|
|
- name: Save Go cache
|
|
if: steps.go-cache-check.outputs.cache-hit != 'true'
|
|
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
path: |
|
|
${{ runner.temp }}/go-cache/mod
|
|
${{ runner.temp }}/go-cache/build
|
|
server/bin
|
|
key: gomod-v1-${{ hashFiles('server/.go-version') }}-${{ hashFiles('**/go.mod', '**/go.sum') }}
|