-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
272 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,219 @@ | ||
name: Publish new release | ||
|
||
on: push | ||
# on: workflow_dispatch | ||
|
||
jobs: | ||
build-windows-x64: | ||
name: Build Windows x64 | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install deps | ||
shell: bash | ||
run: | | ||
curl https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-cpp-3.20.3.zip -L --output protobuf.zip | ||
unzip -q protobuf.zip | ||
mv protobuf-3.20.3 protobuf | ||
curl https://partner.steamgames.com/downloads/steamworks_sdk.zip --output steamworks_sdk.zip -L | ||
unzip -q steamworks_sdk.zip -d steamworks_sdk | ||
- name: Build protobuf | ||
shell: bash | ||
run: | | ||
cd protobuf/cmake && mkdir build | ||
cmake -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=.\build . | ||
cmake --build . --config Release | ||
cd ../.. | ||
echo "${{ github.workspace }}/protobuf/cmake/Release" >> $GITHUB_PATH | ||
- name: Build boiler-writter | ||
shell: bash | ||
run: | | ||
cmake . -DCMAKE_BUILD_TYPE=Release | ||
cmake --build . --config Release | ||
mkdir tmp && cp -r bin tmp && rm -rf bin && mv tmp bin | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: windows-x64 | ||
path: bin | ||
|
||
build-macos-arm64: | ||
name: Build macOS ARM64 | ||
runs-on: macos-latest-xlarge | ||
# TODO enable it when RM64 runners are free for public repos and adjsut the rest of the workflow | ||
# https://github.com/actions/runner-images/issues/8439#issuecomment-1755601587 | ||
if: false | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install deps | ||
run: | | ||
curl https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-cpp-3.20.3.zip -L --output protobuf.zip | ||
unzip -q protobuf.zip | ||
mv protobuf-3.20.3 protobuf | ||
curl https://partner.steamgames.com/downloads/steamworks_sdk.zip --output steamworks_sdk.zip -L | ||
unzip -q steamworks_sdk.zip -d steamworks_sdk | ||
brew install automake autoconf libtool | ||
- name: Build protobuf | ||
run: | | ||
cd protobuf | ||
./autogen.sh | ||
./configure CXXFLAGS="-DNDEBUG" | ||
make -j$(sysctl -n hw.physicalcpu) | ||
sudo make install | ||
cd .. | ||
- name: Build boiler-writter | ||
run: | | ||
cmake . -DCMAKE_BUILD_TYPE=Release | ||
cmake --build . --config Release | ||
mkdir tmp && cp -r bin tmp && rm -rf bin && mv tmp bin | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: macos-arm64 | ||
path: bin | ||
|
||
build-macos-x64: | ||
name: Build macOS x64 | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install deps | ||
run: | | ||
curl https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-cpp-3.20.3.zip -L --output protobuf.zip | ||
unzip -q protobuf.zip | ||
mv protobuf-3.20.3 protobuf | ||
curl https://partner.steamgames.com/downloads/steamworks_sdk.zip --output steamworks_sdk.zip -L | ||
unzip -q steamworks_sdk.zip -d steamworks_sdk | ||
brew install automake | ||
- name: Build protobuf | ||
run: | | ||
cd protobuf | ||
./autogen.sh | ||
./configure CXXFLAGS="-DNDEBUG" | ||
make -j$(sysctl -n hw.physicalcpu) | ||
sudo make install | ||
cd .. | ||
- name: Build boiler-writter | ||
run: | | ||
cmake . -DCMAKE_BUILD_TYPE=Release | ||
cmake --build . --config Release | ||
mkdir tmp && cp -r bin tmp && rm -rf bin && mv tmp bin | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: macos-x64 | ||
path: bin | ||
|
||
build-linux-x64: | ||
name: Build Linux x64 | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install deps | ||
run: | | ||
curl https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-cpp-3.20.3.zip -L --output protobuf.zip | ||
unzip -q protobuf.zip | ||
mv protobuf-3.20.3 protobuf | ||
curl https://partner.steamgames.com/downloads/steamworks_sdk.zip --output steamworks_sdk.zip -L | ||
unzip -q steamworks_sdk.zip -d steamworks_sdk | ||
sudo apt-get install build-essential autoconf gcc gcc-multilib g++-multilib libtool -y | ||
- name: Build protobuf | ||
run: | | ||
cd protobuf | ||
./autogen.sh | ||
./configure CXXFLAGS="-DNDEBUG" | ||
make -j$(nproc) | ||
sudo make install | ||
sudo ldconfig | ||
cd .. | ||
- name: Build boiler-writter | ||
run: | | ||
cmake . -DCMAKE_BUILD_TYPE=Release | ||
cmake --build . --config Release | ||
mkdir tmp && cp -r bin tmp && rm -rf bin && mv tmp bin | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: linux-x64 | ||
path: bin | ||
|
||
publish-release: | ||
name: Publish release | ||
runs-on: ubuntu-latest | ||
needs: | ||
[build-windows-x64, build-macos-x64, build-linux-x64] | ||
# [build-windows-x64, build-macos-arm64, build-macos-x64, build-linux-x64] | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: "20" | ||
|
||
- name: Download artifacts | ||
uses: actions/download-artifact@v3 | ||
|
||
- name: Create new version | ||
run: | | ||
git config --global user.name github-actions | ||
git config --global user.email [email protected] | ||
npm version minor -m "chore: v%s" | ||
echo "VERSION=$(node -p "require('./package.json').version")" >> "$GITHUB_ENV" | ||
- name: Build archives | ||
run: | | ||
cd windows-x64 && zip -r ../"boiler-writter-win-$VERSION.zip" bin && cd - | ||
chmod +x macos-x64/bin/boiler-writter | ||
cd macos-x64 && zip -r ../"boiler-writter-mac-$VERSION.zip" bin && cd - | ||
chmod +x linux-x64/bin/boiler-writter | ||
cd linux-x64 && zip -r ../"boiler-writter-linux-$VERSION.zip" bin && cd - | ||
# chmod +x macos-arm64/bin/boiler-writter | ||
# cd macos-arm64 && zip -r ../"boiler-writter-mac-arm64-$VERSION.zip" bin && cd - | ||
|
||
- name: Publish NPM | ||
run: | | ||
mkdir -p dist/bin/{darwin-arm64,darwin-x64,linux-x64,win32-x64} | ||
cp windows-x64/bin/* dist/bin/win32-x64 | ||
cp macos-x64/bin/* dist/bin/darwin-x64 | ||
cp linux-x64/bin/* dist/bin/linux-x64 | ||
zip -r "dist-npm.zip" dist | ||
# cp macos-arm64/bin/* dist/bin/darwin-arm64 | ||
# npm publish --dry-run | ||
env: | ||
NPM_GITHUB_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
NPM_EMAIL: ${{ secrets.NPM_EMAIL }} | ||
|
||
- name: GitHub Release | ||
uses: ncipollo/release-action@v1 | ||
with: | ||
tag: v${{ env.VERSION }} | ||
allowUpdates: true | ||
draft: true | ||
replacesArtifacts: true | ||
artifacts: "boiler-writter-*.zip,dist-npm.zip" | ||
|
||
# - name: Push the tag to GitHub | ||
# run: git push origin main --tags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
rm -Rf CMakeFiles CMakeScripts cmake_install.cmake CMakeCache.txt Makefile bin \ | ||
*.vcxproj* *.sln .vs BoilerWritter.build BoilerWritter.xcodeproj *.cc *.h | ||
*.vcxproj* *.sln .vs boiler-writter.dir win32 Release Debug BoilerWritter.build BoilerWritter.xcodeproj *.cc *.h |
Oops, something went wrong.