-
Notifications
You must be signed in to change notification settings - Fork 0
101 lines (91 loc) · 4.05 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# This is a basic workflow to help you get started with Actions
name: Build Bulma 4 Hugo
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
env:
GH_TOKEN: ${{ github.token }}
permissions:
contents: write
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Runs a set of commands using the runners shell
- name: Configure Git
run: |
git fetch --tags
git config --local core.autocrlf "false"
git config --local user.name ${{ secrets.GH_USERNAME }}
git config --global user.email ${{ secrets.GH_USERMAIL }}
git config --global user.signingkey ${{ secrets.GH_SIGNING_KEY }}
- name: Init scripts
run: |
[void](New-Item -Type Directory ./src -ErrorAction Stop)
Copy-Item ./build.ps1 ./src -ErrorAction Stop
- name: Prepare repository
run: |
Remove-Item -Recurse .\assets -ErrorAction SilentlyContinue
Remove-Item -Recurse .\.github -ErrorAction SilentlyContinue
Remove-Item .\.gitignore -ErrorAction SilentlyContinue
Remove-Item .\build.ps1 -ErrorAction SilentlyContinue
if (Test-Path .\assets) { throw ".\assets should not exist"}
if (Test-Path .\build.ps1) { throw ".\build.ps1 should not exist"}
if (Test-Path .\.gitignore) { throw ".\assets should not exist"}
if (Test-Path .\.github) { throw ".\assets should not exist"}
- name: Download Bulma
run: |
$Tags = git tag
# get list of Bulma Releases
$BULMA_URL = "https://api.github.com/repos/jgthms/bulma"
$BulmaRelease = Invoke-RestMethod -FollowRelLink -Uri "$BULMA_URL/releases?per_page=100" | %{$_}| ForEach-Object {
if (($_.tag_name) -and ($Tags -contains $tag_name)) {
Write-Output "already packed: Bulma $tag_name"
} else {
[PSCustomObject]@{
version = [version]$_.tag_name
archive = [string]$_.assets.name
download = [string]$_.assets.browser_download_url
}
}
} | Sort-Object -Property version | Select-Object -First 1
if ($BulmaRelease) {
Write-Output "Downloading Bulma $($BulmaRelease.version)"
$archive = Join-Path -Path $TEMPDIR -ChildPath $BulmaRelease.archive
Invoke-WebRequest -Uri $BulmaRelease.download -OutFile $archive
$bulmaFolder = (Get-Item $archive).Basename
[void](New-Item -Type Directory ./assets -ErrorAction Stop)
if (-Not (Test-Path .\assets -PathType Container)) { throw "missing folder: assets"}
Expand-Archive -LiteralPath $archive -DestinationPath .\assets
if (Test-Path .\assets\__MACOSX) { Remove-Item .\assets\__MACOSX -ErrorAction SilentlyContinue -Recurse }
Rename-Item .\assets\$bulmaFolder "bulma"
if (-Not (Test-Path ./assets/bulma -PathType Container)) { throw "missing folder: assets/bulma folder"}
"`$BULMA_VERSION='$($BulmaVersion)'" | Set-Content -Append $GITHUB_ENV
}
Get-ChildItem .
Get-ChildItem .\assets
- name: Create Release
run: |
Write-Host "Creating Release vor $ENV:{BULMA_VERSION}
git add assets\bulma
git status
Write-Output "committing..."
#git commit -m "add $bulmaFolder"
#git push --tags
#git tag "v$($release.version)"
#Write-Output "Cleanup ..."
#git checkout main
#git branch -D $bulmaFolder
#git log --oneline -n 5
#git tag
#git branch
#gh release create "v$($release.version)"
- name: Cleanup
run: |
Remove-Item -Recurse -Force .\src