mirror of
https://github.com/heiher/natmap.git
synced 2026-05-06 21:51:26 +08:00
CI: Merge release into build.
This commit is contained in:
45
.github/workflows/build.yaml
vendored
45
.github/workflows/build.yaml
vendored
@@ -2,9 +2,43 @@ name: "Build"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '**'
|
||||
pull_request:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
jobs:
|
||||
source:
|
||||
name: Source
|
||||
runs-on: ubuntu-20.04
|
||||
if: github.event_name == 'release'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: true
|
||||
- name: Gen Source
|
||||
run: |
|
||||
REV_ID=$(git tag --points-at HEAD)
|
||||
if [ -z "${REV_ID}" ]; then
|
||||
REV_ID=$(git rev-parse --short HEAD)
|
||||
fi
|
||||
mkdir -p natmap-${{ github.ref_name }}
|
||||
git ls-files --recurse-submodules | tar c -O -T- | tar x -C natmap-${{ github.ref_name }}
|
||||
echo ${REV_ID} > natmap-${{ github.ref_name }}/.version
|
||||
tar caf natmap-${{ github.ref_name }}.tar.gz natmap-${{ github.ref_name }}
|
||||
- name: Upload source
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: natmap-${{ github.ref_name }}.tar.gz
|
||||
asset_name: natmap-${{ github.ref_name }}.tar.gz
|
||||
asset_content_type: application/octet-stream
|
||||
linux:
|
||||
name: Linux
|
||||
runs-on: ubuntu-20.04
|
||||
@@ -49,9 +83,20 @@ jobs:
|
||||
wget https://github.com/musl-cross/musl-cross/releases/download/20240317/${{ matrix.tool }}.tgz
|
||||
sudo tar xf ${{ matrix.tool }}.tgz -C /opt/x-tools
|
||||
make CROSS_PREFIX=/opt/x-tools/${{ matrix.tool }}/bin/${{ matrix.tool }}- CFLAGS=${{ matrix.env.CFLAGS }} ENABLE_STATIC=1 -j`nproc`
|
||||
- name: Upload ${{ matrix.name }}
|
||||
if: github.event_name == 'release'
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: bin/natmap
|
||||
asset_name: natmap-linux-${{ matrix.name }}
|
||||
asset_content_type: application/octet-stream
|
||||
macos:
|
||||
name: macOS
|
||||
runs-on: macos-14
|
||||
if: github.event_name != 'release'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
90
.github/workflows/release.yaml
vendored
90
.github/workflows/release.yaml
vendored
@@ -1,90 +0,0 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
jobs:
|
||||
source:
|
||||
name: Source
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: true
|
||||
- name: Gen Source
|
||||
run: |
|
||||
REV_ID=$(git tag --points-at HEAD)
|
||||
if [ -z "${REV_ID}" ]; then
|
||||
REV_ID=$(git rev-parse --short HEAD)
|
||||
fi
|
||||
mkdir -p natmap-${{ github.ref_name }}
|
||||
git ls-files --recurse-submodules | tar c -O -T- | tar x -C natmap-${{ github.ref_name }}
|
||||
echo ${REV_ID} > natmap-${{ github.ref_name }}/.version
|
||||
tar caf natmap-${{ github.ref_name }}.tar.gz natmap-${{ github.ref_name }}
|
||||
- name: Upload source
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: natmap-${{ github.ref_name }}.tar.gz
|
||||
asset_name: natmap-${{ github.ref_name }}.tar.gz
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- name: arm64
|
||||
tool: aarch64-unknown-linux-musl
|
||||
- name: arm32
|
||||
tool: arm-unknown-linux-musleabi
|
||||
- name: arm32hf
|
||||
tool: arm-unknown-linux-musleabihf
|
||||
- name: loong64
|
||||
tool: loongarch64-unknown-linux-musl
|
||||
- name: mips64el
|
||||
tool: mips64el-unknown-linux-musl
|
||||
- name: mips64
|
||||
tool: mips64-unknown-linux-musl
|
||||
- name: mips32el
|
||||
tool: mipsel-unknown-linux-musl
|
||||
- name: mips32
|
||||
tool: mips-unknown-linux-musl
|
||||
- name: riscv32
|
||||
tool: riscv32-unknown-linux-musl
|
||||
- name: riscv64
|
||||
tool: riscv64-unknown-linux-musl
|
||||
- name: x86_32
|
||||
tool: x86_64-multilib-linux-musl
|
||||
env:
|
||||
CFLAGS: "-m32"
|
||||
- name: x86_64
|
||||
tool: x86_64-multilib-linux-musl
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: true
|
||||
- name: Build ${{ matrix.name }}
|
||||
run: |
|
||||
sudo mkdir -p /opt/x-tools
|
||||
wget https://github.com/musl-cross/musl-cross/releases/download/20240317/${{ matrix.tool }}.tgz
|
||||
sudo tar xf ${{ matrix.tool }}.tgz -C /opt/x-tools
|
||||
make CROSS_PREFIX=/opt/x-tools/${{ matrix.tool }}/bin/${{ matrix.tool }}- CFLAGS=${{ matrix.env.CFLAGS }} ENABLE_STATIC=1 -j`nproc`
|
||||
- name: Upload ${{ matrix.name }}
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: bin/natmap
|
||||
asset_name: natmap-linux-${{ matrix.name }}
|
||||
asset_content_type: application/octet-stream
|
||||
Reference in New Issue
Block a user