Build tags setup changed to: * !nodeploy => withdeploy * nodeploy => !withdeploy Also move the deploy feature out into its own release archives. See #12994 for the primary motivation for this change. But this also greatly reduces the number of dependencies in Hugo when you don't need this feature and cuts the binary size greatly. Fixes #12994
132 lines
5.1 KiB
YAML
132 lines
5.1 KiB
YAML
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
name: Test
|
|
env:
|
|
GOPROXY: https://proxy.golang.org
|
|
GO111MODULE: on
|
|
SASS_VERSION: 1.63.2
|
|
DART_SASS_SHA_LINUX: 3ea33c95ad5c35fda6e9a0956199eef38a398f496cfb8750e02479d7d1dd42af
|
|
DART_SASS_SHA_MACOS: 11c70f259836b250b44a9cb57fed70e030f21f45069b467d371685855f1eb4f0
|
|
DART_SASS_SHA_WINDOWS: cd8cd36a619dd8e27f93d3186c52d70eb7d69472aa6c85f5094b29693e773f64
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
go-version: [1.22.x, 1.23.x]
|
|
os: [ubuntu-latest, windows-latest] # macos disabled for now because of disk space issues.
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Free Disk Space (Ubuntu)
|
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
|
with:
|
|
# this might remove tools that are actually needed,
|
|
# if set to "true" but frees about 6 GB
|
|
tool-cache: false
|
|
android: true
|
|
dotnet: true
|
|
haskell: true
|
|
large-packages: true
|
|
docker-images: true
|
|
swap-storage: true
|
|
- name: Checkout code
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
|
- name: Install Go
|
|
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
check-latest: true
|
|
cache: true
|
|
cache-dependency-path: |
|
|
**/go.sum
|
|
**/go.mod
|
|
- name: Install Ruby
|
|
uses: ruby/setup-ruby@a6e6f86333f0a2523ece813039b8b4be04560854 # v1.190.0
|
|
with:
|
|
ruby-version: "2.7"
|
|
bundler-cache: true #
|
|
- name: Install Python
|
|
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
|
|
with:
|
|
python-version: "3.x"
|
|
- name: Install Mage
|
|
run: go install github.com/magefile/mage@v1.15.0
|
|
- name: Install asciidoctor
|
|
uses: reitzig/actions-asciidoctor@c642db5eedd1d729bb8c92034770d0b2f769eda6 # v2.0.2
|
|
- name: Install docutils
|
|
run: |
|
|
pip install docutils
|
|
rst2html --version
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Install pandoc on Linux
|
|
run: |
|
|
sudo apt-get update -y
|
|
sudo apt-get install -y pandoc
|
|
- if: matrix.os == 'macos-latest'
|
|
run: |
|
|
brew install pandoc
|
|
- if: matrix.os == 'windows-latest'
|
|
run: |
|
|
choco install pandoc
|
|
- run: pandoc -v
|
|
- if: matrix.os == 'windows-latest'
|
|
run: |
|
|
choco install mingw
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Install dart-sass Linux
|
|
run: |
|
|
echo "Install Dart Sass version ${SASS_VERSION} ..."
|
|
curl -LJO "https://github.com/sass/dart-sass/releases/download/${SASS_VERSION}/dart-sass-${SASS_VERSION}-linux-x64.tar.gz";
|
|
echo "${DART_SASS_SHA_LINUX} dart-sass-${SASS_VERSION}-linux-x64.tar.gz" | sha256sum -c;
|
|
tar -xvf "dart-sass-${SASS_VERSION}-linux-x64.tar.gz";
|
|
echo "$GOBIN"
|
|
echo "$GITHUB_WORKSPACE/dart-sass/" >> $GITHUB_PATH
|
|
- if: matrix.os == 'macos-latest'
|
|
name: Install dart-sass MacOS
|
|
run: |
|
|
echo "Install Dart Sass version ${SASS_VERSION} ..."
|
|
curl -LJO "https://github.com/sass/dart-sass/releases/download/${SASS_VERSION}/dart-sass-${SASS_VERSION}-macos-x64.tar.gz";
|
|
echo "${DART_SASS_SHA_MACOS} dart-sass-${SASS_VERSION}-macos-x64.tar.gz" | shasum -a 256 -c;
|
|
tar -xvf "dart-sass-${SASS_VERSION}-macos-x64.tar.gz";
|
|
echo "$GITHUB_WORKSPACE/dart-sass/" >> $GITHUB_PATH
|
|
- if: matrix.os == 'windows-latest'
|
|
name: Install dart-sass Windows
|
|
run: |
|
|
echo "Install Dart Sass version ${env:SASS_VERSION} ..."
|
|
curl -LJO "https://github.com/sass/dart-sass/releases/download/${env:SASS_VERSION}/dart-sass-${env:SASS_VERSION}-windows-x64.zip";
|
|
Expand-Archive -Path "dart-sass-${env:SASS_VERSION}-windows-x64.zip" -DestinationPath .;
|
|
echo "$env:GITHUB_WORKSPACE/dart-sass/" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf-8 -Append
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Install staticcheck
|
|
run: go install honnef.co/go/tools/cmd/staticcheck@latest
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Run staticcheck
|
|
run: staticcheck ./...
|
|
- if: matrix.os != 'windows-latest'
|
|
name: Check
|
|
run: |
|
|
sass --version;
|
|
mage -v check;
|
|
env:
|
|
HUGO_BUILD_TAGS: extended,withdeploy
|
|
- if: matrix.os == 'windows-latest'
|
|
# See issue #11052. We limit the build to regular test (no -race flag) on Windows for now.
|
|
name: Test
|
|
run: |
|
|
mage -v test;
|
|
env:
|
|
HUGO_BUILD_TAGS: extended,withdeploy
|
|
- name: Build tags
|
|
run: |
|
|
go install -tags extended
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
name: Build for dragonfly
|
|
run: |
|
|
go install
|
|
env:
|
|
GOARCH: amd64
|
|
GOOS: dragonfly
|