name: publish on: workflow_dispatch: inputs: tag_name: description: 'tag name' required: true jobs: android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install NDK run: | cd ~ wget -O NDK -q https://dl.google.com/android/repository/android-ndk-r21b-linux-x86_64.zip sudo apt install unzip -y unzip -q NDK ANDROID_NDK_HOME=$(pwd)/android-ndk-r21b - name: Build run: | cd build ./make_android_lua54.sh ./make_android_lua53.sh - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_android - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_android android_luajit: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - name: Install NDK run: | cd ~ wget -O NDK -q https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip sudo apt install unzip -y unzip -q NDK ANDROID_NDK_HOME=$(pwd)/android-ndk-r15c - name: Build run: | cd build sudo apt update sudo apt install gcc-multilib libncurses5 -y ./make_android_luajit_arm64.sh - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_android ohos: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install NDK run: | cd ~ cd ~ curl -O https://repo.huaweicloud.com/harmonyos/os/4.1-Release/ohos-sdk-windows_linux-public.tar.gz tar xvfz ohos-sdk-windows_linux-public.tar.gz cd ohos-sdk/linux unzip -o -d ./ native-linux-x64-4.1.7.5-Release.zip - name: Build run: | cd build chmod +x make_ohos_lua5*.sh OHOS_NDK_HOME=~/ohos-sdk/linux/native ./make_ohos_lua54.sh OHOS_NDK_HOME=~/ohos-sdk/linux/native ./make_ohos_lua53.sh - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_ohos - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_ohos linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build run: | cd build ./make_linux_lua54.sh ./make_linux64_lua53.sh ./make_linux64_luajit.sh - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_linux - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_linux - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_linux ios: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Build run: | cd build ./make_ios_lua54.sh ./make_ios_lua53.sh ./make_ios_luajit.sh - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_ios - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_ios - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_ios osx: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Build run: | cd build ./make_osx_lua54.sh ./make_osx_lua53.sh ./make_osx_luajit.sh ./make_osx_silicon_lua53.sh ./make_osx_silicon_lua54.sh - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_osx - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_osx - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_osx windows: runs-on: windows-2022 steps: - uses: actions/checkout@v2 - name: Insatll MSVC uses: microsoft/setup-msbuild@v1.0.2 - name: Build run: | cd build .\make_win_lua54.bat .\make_uwp_lua54.bat .\make_win32_lua53.bat .\make_win64_lua53.bat .\make_uwp.bat - uses: ilammy/msvc-dev-cmd@v1 - name: Build Luajit run: | cd build .\make_win64_luajit.bat - name: Upload uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua54/**/* name: plugin_lua54_window - name: Upload53 uses: actions/upload-artifact@v4 with: path: ./build/plugin_lua53/**/* name: plugin_lua53_window - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_window windows-luajit-32: runs-on: windows-2022 steps: - uses: actions/checkout@v2 - name: Insatll MSVC uses: microsoft/setup-msbuild@v1.0.2 - uses: ilammy/msvc-dev-cmd@v1 with: arch: x86 - name: Build Luajit run: | cd build .\make_win32_luajit.bat - name: UploadJit uses: actions/upload-artifact@v4 with: path: ./build/plugin_luajit/**/* name: plugin_luajit_window32 publish: runs-on: ubuntu-latest needs: [windows,osx,ios,android,windows-luajit-32,ohos,android_luajit,linux] steps: - uses: actions/download-artifact@v4 with: pattern: plugin_luajit_* path: plugin_luajit/ merge-multiple: true - uses: actions/download-artifact@v4 with: pattern: plugin_lua53_* path: plugin_lua53/ merge-multiple: true - uses: actions/download-artifact@v4 with: pattern: plugin_lua54_* path: plugin_lua54/ merge-multiple: true - name: Create Release Asset run: | cd plugin_luajit/ && tar cvfz ../luajit_${{ github.event.inputs.tag_name }}.tgz Plugins && cd - cd plugin_lua53/ && tar cvfz ../lua53_${{ github.event.inputs.tag_name }}.tgz Plugins && cd - cd plugin_lua54/ && tar cvfz ../lua54_${{ github.event.inputs.tag_name }}.tgz Plugins && cd - - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.event.inputs.tag_name }} release_name: Tag:${{ github.event.inputs.tag_name }} draft: false prerelease: false - name: Upload luajit Plugins #id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./luajit_${{ github.event.inputs.tag_name }}.tgz asset_name: luajit_${{ github.event.inputs.tag_name }}.tgz asset_content_type: application/tgz - name: Upload lua53 Plugins #id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./lua53_${{ github.event.inputs.tag_name }}.tgz asset_name: lua53_${{ github.event.inputs.tag_name }}.tgz asset_content_type: application/tgz - name: Upload lua54 Plugins #id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./lua54_${{ github.event.inputs.tag_name }}.tgz asset_name: lua54_${{ github.event.inputs.tag_name }}.tgz asset_content_type: application/tgz