[CI] Forgejo Actions based release process (squash) add assets sources-tarbal

Refs: https://codeberg.org/forgejo/forgejo/issues/1115
This commit is contained in:
Earl Warren 2023-07-25 10:13:09 +02:00
parent 8235616970
commit 5531d01f19
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
6 changed files with 41 additions and 9 deletions

View file

View file

View file

@ -69,20 +69,51 @@ jobs:
set -x set -x
apt-get -qq install -y make apt-get -qq install -y make
version=${{ steps.tag-version.outputs.value }} version=${{ steps.tag-version.outputs.value }}
make VERSION=$version sources-tarbal #
# Make sure all files are owned by the current user.
# When run as root `npx webpack` will assume the identity
# of the owner of the current working directory and may
# fail to create files if some sub-directories are not owned
# by the same user.
#
# Binaries:
# Node: 18.17.0 - /usr/local/node-v18.17.0-linux-x64/bin/node
# npm: 9.6.7 - /usr/local/node-v18.17.0-linux-x64/bin/npm
# Packages:
# add-asset-webpack-plugin: 2.0.1 => 2.0.1
# css-loader: 6.8.1 => 6.8.1
# esbuild-loader: 3.0.1 => 3.0.1
# license-checker-webpack-plugin: 0.2.1 => 0.2.1
# monaco-editor-webpack-plugin: 7.0.1 => 7.0.1
# vue-loader: 17.2.2 => 17.2.2
# webpack: 5.87.0 => 5.87.0
# webpack-cli: 5.1.4 => 5.1.4
#
chown -R $(id -u) .
make VERSION=$version TAGS=bindata sources-tarbal
mv dist/release release mv dist/release release
#
# Sanity check to verify that the source tarbal knows the
# version and is able to rebuild itself from it.
#
# When in sources the version is determined with git.
# When in the tarbal the version is determined from a VERSION file.
#
( (
tmp=$(mktemp -d) tmp=$(mktemp -d)
tar --directory $tmp -zxvf release/*$version*.tar.gz tar --directory $tmp -zxvf release/*$version*.tar.gz
cd $tmp/* cd $tmp/*
#
# Verify `make frontend` files are available
#
test -d public/css
test -d public/fonts
test -d public/js
#
# Verify `make generate` files are available
#
test -d modules/public/bindata.go
#
# Sanity check to verify that the source tarbal knows the
# version and is able to rebuild itself from it.
#
# When in sources the version is determined with git.
# When in the tarbal the version is determined from a VERSION file.
#
make sources-tarbal make sources-tarbal
tarbal=$(echo dist/release/*$version*.tar.gz) tarbal=$(echo dist/release/*$version*.tar.gz)
if ! test -f $tarbal ; then if ! test -f $tarbal ; then

View file

@ -818,7 +818,8 @@ static-executable: $(GO_SOURCES) $(TAGS_PREREQ)
.PHONY: release .PHONY: release
release: frontend generate release-linux release-copy release-compress vendor release-sources release-check release: frontend generate release-linux release-copy release-compress vendor release-sources release-check
sources-tarbal: vendor release-sources release-check # just the sources, with all assets builtin and frontend resources generated
sources-tarbal: frontend generate vendor release-sources release-check
$(DIST_DIRS): $(DIST_DIRS):
mkdir -p $(DIST_DIRS) mkdir -p $(DIST_DIRS)