Rust (aux02) Build #185
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
### | |
### Copyright (c) 2023 Carbon Community | |
### All rights reserved | |
### | |
name: Rust (aux02) Build | |
concurrency: build-rust-aux02 | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '00 19 * * *' | |
jobs: | |
bootstrap: | |
name: 🥾 Bootstrap | |
runs-on: ubuntu-latest | |
outputs: | |
date: ${{ steps.step1.outputs.date }} | |
clock: ${{ steps.step1.outputs.clock }} | |
tag: ${{ steps.step1.outputs.tag }} | |
ref: ${{ steps.step1.outputs.ref }} | |
wipe: ${{ steps.step1.outputs.wipe }} | |
version: ${{ steps.step1.outputs.version }} | |
steps: | |
#- name: Log environment | |
# uses: crazy-max/ghaction-dump-context@v1 | |
- name: 🔗 Checkout source code from github | |
uses: actions/checkout@v3 | |
with: | |
ref: rust_beta/aux02 | |
- name: 📅 Prepare the environment | |
id: step1 | |
run: | | |
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
echo "clock=$(date +'%H:%M:%S')" >> $GITHUB_OUTPUT | |
echo "tag=$(date +'%Yd%j')" >> $GITHUB_OUTPUT | |
echo "ref=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
echo "wipe=$( [ $(date +%u) -eq 4 ] && [ $(date +%d) -le 7 ] && echo true || echo false )" >> $GITHUB_OUTPUT | |
echo "version=$(date +'1.%Y.%q%j.%M%S')" >> $GITHUB_OUTPUT | |
# BUILD LINUX ---------------------------------------------------------------- | |
build-linux: | |
name: 🐧 Linux | |
needs: bootstrap | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
outputs: | |
wipe: ${{ needs.bootstrap.outputs.wipe }} | |
artifact: build-aux02-${{ needs.bootstrap.outputs.ref }}-linux | |
build_info: Built at ${{ needs.bootstrap.outputs.date }} ${{ needs.bootstrap.outputs.clock }} based on commit ${{ needs.bootstrap.outputs.ref }}. | |
steps: | |
- name: 🔗 Checkout source code from github | |
uses: actions/checkout@v3 | |
with: | |
ref: rust_beta/aux02 | |
- name: 🛤️ Setup the dotnet build environment | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: 6.0.x | |
- name: 🔨 Setup the Carbon build environment | |
shell: bash | |
run: | | |
${GITHUB_WORKSPACE}/Tools/Build/linux/bootstrap.sh | |
- name: 🔨 Setup the Carbon build environment (aux02) | |
shell: bash | |
run: | | |
${GITHUB_WORKSPACE}/Tools/Build/linux/update_aux02.sh | |
- name: 🐧 Built Carbon on Linux | |
shell: bash | |
run: | | |
export VERSION=${{ needs.bootstrap.outputs.version }} | |
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX02 | |
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX02 | |
- name: ⬆️ Upload the artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build-aux02-linux | |
path: | | |
Release/Carbon.Linux.Debug.tar.gz | |
Release/Carbon.Linux.Debug.info | |
Release/Carbon.Linux.Minimal.tar.gz | |
Release/Carbon.Linux.Minimal.info | |
# BUILD WINDOWS -------------------------------------------------------------- | |
build-windows: | |
name: 💻 Windows | |
needs: bootstrap | |
runs-on: windows-latest | |
continue-on-error: true | |
steps: | |
- name: 🔗 Checkout source code from github | |
uses: actions/checkout@v3 | |
with: | |
ref: rust_beta/aux02 | |
- name: 🛤️ Setup the dotnet build environment | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: 6.0.x | |
- name: 🔨 Setup the Carbon build environment | |
shell: cmd | |
run: | | |
%GITHUB_WORKSPACE%\Tools\Build\win\bootstrap.bat | |
- name: 🔨 Setup the Carbon build environment (aux02) | |
shell: cmd | |
run: | | |
%GITHUB_WORKSPACE%\Tools\Build\win\update_aux02.bat | |
- name: 🔨 Built Carbon on Windows | |
shell: cmd | |
run: | | |
set VERSION=${{ needs.bootstrap.outputs.version }} | |
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX02 | |
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX02 | |
- name: ⬆️ Upload the artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build-aux02-windows | |
path: | | |
Release/Carbon.Windows.Debug.zip | |
Release/Carbon.Windows.Debug.info | |
Release/Carbon.Windows.Minimal.zip | |
Release/Carbon.Windows.Minimal.info | |
# RELEASE -------------------------------------------------------------------- | |
release-on-schedule: | |
name: 💾 Rust (aux02) Release | |
needs: [ "bootstrap", "build-linux", "build-windows" ] | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }} | |
# only release if triggered by the scheduler | |
# or if manually triggered by a developer | |
steps: | |
- name: 🗑️ Delete existing release tag | |
uses: dev-drprasad/delete-tag-and-release@92d94d77429cb0436597047a92369526a5824f50 | |
with: | |
delete_release: true | |
tag_name: rustbeta_aux02_build | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: 💤 Sleep for 5 seconds | |
run: sleep 5s | |
shell: bash | |
- name: ⬇️ Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: Release | |
- name: Display structure of downloaded files | |
run: ls -R | |
working-directory: Release | |
- name: 🏷️ Update release tag | |
uses: softprops/action-gh-release@d4e8205d7e959a9107da6396278b2f1f07af0f9b | |
with: | |
draft: false | |
prerelease: true | |
tag_name: rustbeta_aux02_build | |
name: 'Rust (aux02) Build — v${{ needs.bootstrap.outputs.version }}' | |
body: | | |
This is a manually triggered development build of Carbon based on the `rust_beta/aux02` branch. | |
This build might and probably will be very unstable and its sole purpose is for testing and/or exploring Rust's future update features in a modded environment. | |
This build is targeted at developers or testers. | |
The general public is advised to use one of the [stable] builds. | |
Since it's manually triggered, we're confident you should use this build to test out the latest Carbon changes. | |
### How to install | |
1. Download the `Carbon.[Windows|Linux].Debug` archive from the attachments below. | |
2. Unzip the archive to the root of your Rust Dedicated Server. | |
3. Restart the server and enjoy. | |
${{ needs.build-linux.outputs.build_info }} | |
[stable]: https://github.com/CarbonCommunity/Carbon.Core/releases/latest | |
files: | | |
Release/build-aux02-linux/Carbon.Linux.Debug.info | |
Release/build-aux02-linux/Carbon.Linux.Debug.tar.gz | |
Release/build-aux02-windows/Carbon.Windows.Debug.info | |
Release/build-aux02-windows/Carbon.Windows.Debug.zip | |
Release/build-aux02-linux/Carbon.Linux.Minimal.info | |
Release/build-aux02-linux/Carbon.Linux.Minimal.tar.gz | |
Release/build-aux02-windows/Carbon.Windows.Minimal.info | |
Release/build-aux02-windows/Carbon.Windows.Minimal.zip |