install #89
Workflow file for this run
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: install | |
on: | |
push: | |
tags: | |
- "v*" | |
branches: | |
- "**" | |
paths: | |
- ".github/workflows/install.yml" | |
- "assets/**" | |
- "**.py" | |
pull_request: | |
branches: | |
- "**" | |
paths: | |
- ".github/workflows/install.yml" | |
- "assets/**" | |
- "**.py" | |
workflow_dispatch: | |
jobs: | |
meta: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- id: set_tag | |
run: | | |
is_release=${{ startsWith(github.ref, 'refs/tags/v') }} | |
tag=$(git describe --tags --match "v*" ${{ github.ref }} || true) | |
if [[ $tag != v* ]]; then | |
tag=$(curl -sX GET "https://api.github.com/repos/${{ github.repository }}/releases/latest" --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' | awk '/tag_name/{print $4}' FS='["]') | |
if [[ $tag != v* ]]; then | |
tag="v0.0.0" | |
fi | |
tag=$(date "+$tag-%y%m%d-$(git rev-parse --short HEAD)") | |
fi | |
if ! $($is_release) ; then | |
prefix=${tag%-*-*} | |
suffix=${tag#$prefix-} | |
tag="$prefix-ci.$suffix" | |
fi | |
echo tag=$tag | tee -a $GITHUB_OUTPUT | |
echo is_release=$is_release | tee -a $GITHUB_OUTPUT | |
outputs: | |
tag: ${{ steps.set_tag.outputs.tag }} | |
is_release: ${{ steps.set_tag.outputs.is_release }} | |
update: | |
needs: meta | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: update | |
shell: bash | |
run: | | |
mkdir -p ./update | |
rsync -av --exclude='MaaCommonAssets' ./assets/ ./update/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: update | |
path: "update" | |
gui: | |
needs: meta | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download Latest MFAWPF | |
uses: robinraju/release-downloader@v1 | |
with: | |
repository: shanchuan001/MFAWPF | |
filename: MFAWPF* | |
latest: true | |
out-file-path: gui | |
extract: true | |
- name: gui resources | |
shell: bash | |
run: | | |
rm -f ./gui/*.zip | |
cp -r ./assets/resource/* ./gui/Resource/ | |
jq --arg version_name "MET" --arg url "https://github.com/shanchuan001/MET" --arg version ${{ needs.meta.outputs.tag }} '. + {"name": $version_name, "url": $url,"version": $version}' ./assets/interface.json > ./gui/interface.json | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MET-win-x86_64-with-gui | |
path: "gui" | |
windows: | |
needs: meta | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
arch: [aarch64, x86_64] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download MaaFramework | |
uses: robinraju/release-downloader@v1 | |
with: | |
repository: MaaXYZ/MaaFramework | |
fileName: "MAA-win-${{ matrix.arch }}*" | |
latest: true | |
out-file-path: "deps" | |
extract: true | |
- name: Install | |
shell: bash | |
run: | | |
python ./install.py ${{ needs.meta.outputs.tag }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MET-win-${{ matrix.arch }} | |
path: "install" | |
ubuntu: | |
needs: meta | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
arch: [aarch64, x86_64] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download MaaFramework | |
uses: robinraju/release-downloader@v1 | |
with: | |
repository: MaaXYZ/MaaFramework | |
fileName: "MAA-linux-${{ matrix.arch }}*" | |
latest: true | |
out-file-path: "deps" | |
extract: true | |
- name: Install | |
shell: bash | |
run: | | |
python ./install.py ${{ needs.meta.outputs.tag }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MET-linux-${{ matrix.arch }} | |
path: "install" | |
macos: | |
needs: meta | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
arch: [aarch64, x86_64] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download MaaFramework | |
uses: robinraju/release-downloader@v1 | |
with: | |
repository: MaaXYZ/MaaFramework | |
fileName: "MAA-macos-${{ matrix.arch }}*" | |
latest: true | |
out-file-path: "deps" | |
extract: true | |
- name: Install | |
shell: bash | |
run: | | |
python ./install.py ${{ needs.meta.outputs.tag }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MET-macos-${{ matrix.arch }} | |
path: "install" | |
android: | |
needs: meta | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
arch: [aarch64, x86_64] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download MaaFramework | |
uses: robinraju/release-downloader@v1 | |
with: | |
repository: MaaXYZ/MaaFramework | |
fileName: "MAA-android-${{ matrix.arch }}*" | |
latest: true | |
out-file-path: "deps" | |
extract: true | |
- name: Install | |
shell: bash | |
run: | | |
python ./install.py ${{ needs.meta.outputs.tag }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MET-android-${{ matrix.arch }} | |
path: "install" | |
release: | |
if: ${{ needs.meta.outputs.is_release == 'true' }} | |
needs: [meta, windows, ubuntu, macos, android] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
path: assets | |
- run: | | |
cd assets | |
for f in *; do | |
(cd $f && zip -r ../$f-${{ needs.meta.outputs.tag }}.zip .) | |
done | |
- uses: softprops/action-gh-release@v2 | |
with: | |
files: assets/* | |
tag_name: ${{ needs.meta.outputs.tag }} |