Merge branch 'acidanthera:master' into YamingNetwork #222
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
name: CI | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
release: | |
types: [published] | |
env: | |
PROJECT_TYPE: UEFI | |
FORCE_INSTALL: 1 | |
HAS_OPENSSL_BUILD: 1 | |
HAS_OPENSSL_W32BUILD: 0 | |
WERROR: 1 | |
jobs: | |
build-macos: | |
name: macOS XCODE5 | |
runs-on: macos-latest | |
env: | |
JOB_TYPE: BUILD | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: 添加Linux工具链 | |
run: brew tap FiloSottile/homebrew-musl-cross | |
- name: 安装Linux工具链 | |
run: brew install musl-cross | |
env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
HOMEBREW_NO_AUTO_UPDATE: 1 | |
- name: 安装构建环境 | |
run: brew install openssl mingw-w64 | |
- name: CI引导 | |
run: | | |
src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/wy414012/ocbuild/Yaming/ci-bootstrap.sh) && eval "$src" || exit 1 | |
- run: ./build_duet.tool | |
- run: ./build_oc.tool | |
- name: 配置安全密钥 | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "StrictHostKeyChecking no" >> ~/.ssh/config | |
- name: 检查URL并且传输到服务器 | |
env: | |
SECRET_CHECK_SCRIPT_URL: ${{ secrets.SECRET_CHECK_SCRIPT_URL }} | |
run: scp -r ./Binaries/*.zip ${SECRET_CHECK_SCRIPT_URL}OC/macos_build/ | |
- name: 上传工件 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macOS XCODE5 Artifacts | |
path: Binaries/*.zip | |
- name: 上传发布 | |
if: github.event_name == 'release' | |
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2.9.0 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: Binaries/*.zip | |
tag: ${{ github.ref }} | |
file_glob: true | |
build-linux-clangpdb: | |
name: Linux CLANGPDB | |
runs-on: ubuntu-22.04 | |
env: | |
TOOLCHAINS: CLANGPDB | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Docker in rootless mode. | |
uses: ScribeMD/[email protected] | |
- name: ./build_duet.tool | |
run: docker compose run build-duet | |
- name: ./build_oc.tool | |
run: docker compose run build-oc | |
- name: 配置安全密钥 | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "StrictHostKeyChecking no" >> ~/.ssh/config | |
- name: 检查URL并且传输到服务器 | |
env: | |
SECRET_CHECK_SCRIPT_URL: ${{ secrets.SECRET_CHECK_SCRIPT_URL }} | |
run: scp -r ./Binaries/*.zip ${SECRET_CHECK_SCRIPT_URL}OC/linux_build/CLANGPDB/ | |
- name: Upload to Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Linux CLANGPDB Artifacts | |
path: Binaries/*.zip | |
build-linux-gcc5: | |
name: Linux GCC | |
runs-on: ubuntu-22.04 | |
env: | |
TOOLCHAINS: GCC | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Docker in rootless mode. | |
uses: ScribeMD/[email protected] | |
- name: ./build_duet.tool | |
run: docker compose run build-duet | |
- name: ./build_oc.tool | |
run: docker compose run build-oc | |
- name: 配置安全密钥 | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "StrictHostKeyChecking no" >> ~/.ssh/config | |
- name: 检查URL并且传输到服务器 | |
env: | |
SECRET_CHECK_SCRIPT_URL: ${{ secrets.SECRET_CHECK_SCRIPT_URL }} | |
run: scp -r ./Binaries/*.zip ${SECRET_CHECK_SCRIPT_URL}OC/linux_build/GCC5/ | |
- name: Upload to Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Linux GCC Artifacts | |
path: Binaries/*.zip | |
build-linux-clangdwarf: | |
name: Linux CLANGDWARF | |
runs-on: ubuntu-22.04 | |
env: | |
TOOLCHAINS: CLANGDWARF | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Docker in rootless mode. | |
uses: ScribeMD/[email protected] | |
- name: ./build_duet.tool | |
run: docker compose run build-duet | |
- name: ./build_oc.tool | |
run: docker compose run build-oc | |
- name: 配置安全密钥 | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "StrictHostKeyChecking no" >> ~/.ssh/config | |
- name: 检查URL并且传输到服务器 | |
env: | |
SECRET_CHECK_SCRIPT_URL: ${{ secrets.SECRET_CHECK_SCRIPT_URL }} | |
run: scp -r ./Binaries/*.zip ${SECRET_CHECK_SCRIPT_URL}OC/linux_build/CLANGDWARF/ | |
- name: 上传工件 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Linux CLANGDWARF Artifacts | |
path: Binaries/*.zip | |
build-linux-docs: | |
name: Linux Docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Docker in rootless mode. | |
uses: ScribeMD/[email protected] | |
- name: Docs | |
run: docker compose run build-docs | |
build-windows: | |
name: Windows VS2022 | |
runs-on: windows-latest | |
env: | |
HAS_OPENSSL_BUILD: 0 | |
CC: gcc | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- name: 安装构建环境 | |
run: | | |
choco install make nasm zip iasl --no-progress | |
- name: CI引导 | |
run: | | |
src=$(curl -LfsS https://raw.githubusercontent.com/wy414012/ocbuild/Yaming/ci-bootstrap.sh) && eval "$src" || exit 1 | |
- run: ./build_duet.tool | |
- run: ./build_oc.tool | |
- name: 配置安全密钥 | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.GIT_PRIVATE_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
echo "StrictHostKeyChecking no" >> ~/.ssh/config | |
- name: 检查URL并且传输到服务器 | |
env: | |
SECRET_CHECK_SCRIPT_URL: ${{ secrets.SECRET_CHECK_SCRIPT_URL }} | |
run: scp -r ./Binaries/*.zip ${SECRET_CHECK_SCRIPT_URL}OC/windows_build/ | |
- name: 上传工件 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Windows Artifacts | |
path: Binaries/*.zip |