Skip to content
Merged
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
10 changes: 5 additions & 5 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
lfs: true

- name: Set up pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
with:
version: 9

- name: Set up NodeJS
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: "20"
cache: pnpm
Expand All @@ -54,7 +54,7 @@ jobs:

- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v3 # or specific "vX.X.X" version tag for this action
uses: actions/upload-pages-artifact@v5
with:
path: docs/src/.vitepress/dist

Expand All @@ -72,4 +72,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
50 changes: 28 additions & 22 deletions .github/workflows/reusable-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,41 +22,41 @@ jobs:
packages: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4

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

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v7
with:
go-version: "1.25"
go-version-file: go.mod

- name: Setup NodeJS
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: "20"

- name: Setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
with:
version: 9

- name: Login to Docker Hub
if: ${{ !inputs.snapshot }}
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Login to GHCR
if: ${{ !inputs.snapshot }}
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand All @@ -73,7 +73,7 @@ jobs:
HOMEBREW_GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_TOKEN }}

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: release-builds
path: |
Expand All @@ -89,20 +89,26 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Download build artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: release-builds

- name: Download restic
shell: powershell
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Get the latest release from GitHub API
$latest = Invoke-RestMethod -Uri "https://api.github.com/repos/restic/restic/releases/latest"
$headers = @{
Authorization = "Bearer $env:GH_TOKEN"
"X-GitHub-Api-Version" = "2022-11-28"
}
$latest = Invoke-RestMethod -Uri "https://api.github.com/repos/restic/restic/releases/latest" -Headers $headers
$tag = $latest.tag_name
if ($tag.StartsWith("v")) {
$tag = $tag.Substring(1)
Expand Down Expand Up @@ -154,14 +160,14 @@ jobs:

- name: Upload Installers as Artifacts
if: ${{ inputs.snapshot }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: backrest-snapshot-installers
path: windows_installers\*.exe

- name: Upload Installers to Release
if: ${{ !inputs.snapshot && startsWith(github.ref, 'refs/tags/') }}
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
files: |
./windows_installers/*
Expand All @@ -175,14 +181,14 @@ jobs:
matrix:
goarch: [amd64, arm64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: "1.25"
- uses: actions/setup-node@v4
go-version-file: go.mod
- uses: actions/setup-node@v7
with:
node-version: "20"
- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6
with:
version: 9
- name: Build web UI
Expand Down Expand Up @@ -221,12 +227,12 @@ jobs:
zip -r "backrest_Darwin_${{ steps.arch.outputs.name }}.zip" Backrest.app
- name: Upload as artifact
if: ${{ inputs.snapshot }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: backrest-macos-${{ steps.arch.outputs.name }}
path: "backrest_Darwin_${{ steps.arch.outputs.name }}.zip"
- name: Upload to release
if: ${{ !inputs.snapshot && startsWith(github.ref, 'refs/tags/') }}
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
files: "backrest_Darwin_${{ steps.arch.outputs.name }}.zip"
46 changes: 26 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ jobs:
test-nix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v7
with:
go-version: "1.24"
go-version-file: go.mod

- name: Install gotestsum
run: go install gotest.tools/gotestsum@latest
Expand All @@ -45,15 +45,15 @@ jobs:
env:
TZ: UTC
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
with:
version: 9

- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: "20"
cache: pnpm
Expand All @@ -75,20 +75,20 @@ jobs:
# Not RCLONE_*: rclone reads RCLONE_VERSION as its --version flag.
E2E_RCLONE_VERSION: v1.69.1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v7
with:
go-version: "1.24"
go-version-file: go.mod

- name: Setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
with:
version: 9

- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: "20"
cache: pnpm
Expand All @@ -108,13 +108,13 @@ jobs:
# Keyed on the file that pins RequiredResticVersion; global-setup
# provisions restic into this directory on a cache miss.
- name: Cache restic
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: webui/e2e/.cache/restic-data
key: restic-e2e-${{ hashFiles('internal/resticinstaller/resticinstaller.go') }}

- name: Cache playwright browsers
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.cache/ms-playwright
key: playwright-${{ hashFiles('webui/pnpm-lock.yaml') }}
Expand All @@ -126,7 +126,7 @@ jobs:
# e2e spec skips itself if rclone is absent, so provision it for coverage.
- name: Cache rclone
id: cache-rclone
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: webui/e2e/.cache/rclone-bin
key: rclone-${{ env.E2E_RCLONE_VERSION }}
Expand All @@ -149,7 +149,7 @@ jobs:
E2E_SKIP_WEBUI_BUILD=1 E2E_BACKREST_BIN=$PWD/e2e/.cache/backrest pnpm run e2e

- name: Upload playwright report
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: failure()
with:
name: playwright-report
Expand All @@ -160,22 +160,28 @@ jobs:
test-win:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v7

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v7
with:
go-version: "1.24"
go-version-file: go.mod

- name: Create Fake WebUI Sources
run: |
New-Item -Path .\webui\dist-windows\index.html -ItemType File -Force

- name: Resolve latest restic version
shell: powershell
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
id: restic-version
run: |
$latest = Invoke-RestMethod -Uri "https://api.github.com/repos/restic/restic/releases/latest"
$headers = @{
Authorization = "Bearer $env:GH_TOKEN"
"X-GitHub-Api-Version" = "2022-11-28"
}
$latest = Invoke-RestMethod -Uri "https://api.github.com/repos/restic/restic/releases/latest" -Headers $headers
$tag = $latest.tag_name
if ($tag.StartsWith("v")) {
$tag = $tag.Substring(1)
Expand All @@ -184,7 +190,7 @@ jobs:

- name: Cache restic
id: cache-restic
uses: actions/cache@v3
uses: actions/cache@v6
with:
path: restic-bin
key: restic-windows-${{ env.RESTIC_VERSION }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-restic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ jobs:
update-restic-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v7

- name: Check for updates
run: |
./scripts/update-restic-version.sh

- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: update restic version"
Expand Down
Loading