67 lines
2.4 KiB
YAML
67 lines
2.4 KiB
YAML
name: Test publish Managarr scoop bucket
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
contents: write
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
publish-scoop-bucket:
|
|
name: Publish Scoop Bucket
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Set release assets and version
|
|
shell: pwsh
|
|
run: |
|
|
# mock artifact data
|
|
mkdir artifacts
|
|
'c27e191f4290501287ca16268d9c2029e1f5cd01f7c2ac2be3cdfee80395f719' | Set-Content -Path artifacts/managarr-windows.sha256
|
|
'0.4.1' | Set-Content -Path artifacts/release-version
|
|
|
|
# Read the first column from the SHA256 file
|
|
$windows_sha = Get-Content ./artifacts/managarr-windows.sha256 | ForEach-Object { $_.Split(' ')[0] }
|
|
Add-Content -Path $env:GITHUB_ENV -Value "WINDOWS_SHA=$windows_sha"
|
|
|
|
# Read the release version from the release-version file
|
|
$release_version = Get-Content ./artifacts/release-version
|
|
Add-Content -Path $env:GITHUB_ENV -Value "RELEASE_VERSION=$release_version"
|
|
|
|
- name: Install Scoop
|
|
uses: MinoruSekine/setup-scoop@main
|
|
|
|
- name: Update Scoop Bucket
|
|
shell: pwsh
|
|
run: |
|
|
# Clean up previous version
|
|
Remove-Item -Path './deployment/scoop/managarr.json' -ErrorAction SilentlyContinue
|
|
|
|
# Run packaging script
|
|
python "./deployment/packager.py" ${{ env.RELEASE_VERSION }} "./deployment/scoop/managarr.json.template" "./deployment/scoop/managarr.json" ${{ env.WINDOWS_SHA }}
|
|
|
|
- name: Persist the new managarr.json to the repo
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
shell: pwsh
|
|
run: |
|
|
# Persist the scoop bucket changes into repo
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add ./deployment/scoop/managarr.json
|
|
git commit -m "chore: Update Scoop bucket for version ${{ env.RELEASE_VERSION }} [skip ci]"
|
|
git push origin main
|
|
|
|
- name: Publish the updated bucket
|
|
shell: pwsh
|
|
run: |
|
|
cd ./deployment/scoop/
|
|
scoop bucket add managarr-bucket https://github.com/Dark-Alex-17/managarr/tree/main/deployment/scoop
|
|
scoop install managarr
|
|
managarr --help
|