diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0a10c1c6..97a7a60b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,3 @@ -# This is a basic workflow to help you get started with Actions - name: CI # Controls when the action will run. @@ -26,26 +24,57 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 + + - name: Set environment variables + run: echo SCRIPTS_PATH=$(pwd) >> $GITHUB_ENV - name: Download includes uses: actions/checkout@v2 with: repository: gemidyne/gh-actions-resources path: './ext' - + - name: Setup SourceMod compiler (${{ matrix.smver }}) uses: rumblefrog/setup-sp@master with: version: ${{ matrix.smver }} + - name: Copy includes + run: | + cp ./ext/sourcepawn/includes/* $includePath + cp ./src/scripting/include/* $includePath + - name: Compile gamemode - run: spcomp -i'./ext/sourcepawn/includes' -i'./src/scripting/include/' './src/scripting/AS-MicroTF2.sp' -o './src/scripting/AS-MicroTF2.smx' -E + run: spcomp -i $includePath src/scripting/AS-MicroTF2.sp -o src/scripting/AS-MicroTF2.smx -E -O2 -v2 + working-directory: ${{ env.SCRIPTS_PATH }} - name: Compile SDK - run: spcomp -i'./ext/sourcepawn/includes' -i'./src/scripting/include/' './src/scripting/AS-MicroTF2-SDK.sp' -o './src/scripting/AS-MicroTF2-SDK.smx' -E + run: spcomp -i $includePath src/scripting/AS-MicroTF2-SDK.sp -o src/scripting/AS-MicroTF2-SDK.smx -E -O2 -v2 + working-directory: ${{ env.SCRIPTS_PATH }} - name: Compile SDK/MapChooser integration - run: spcomp -i'./ext/sourcepawn/includes' -i'./src/scripting/include/' './src/scripting/AS-MicroTF2-MapChooser.sp' -o './src/scripting/AS-MicroTF2-MapChooser.smx' -E + run: spcomp -i $includePath src/scripting/AS-MicroTF2-MapChooser.sp -o src/scripting/AS-MicroTF2-MapChooser.smx -E -O2 -v2 + working-directory: ${{ env.SCRIPTS_PATH }} - name: Compile SDK/Example integration - run: spcomp -i'./ext/sourcepawn/includes' -i'./src/scripting/include/' './src/scripting/AS-MicroTF2-ExampleIntegration.sp' -o './src/scripting/AS-MicroTF2-ExampleIntegration.smx' -E + run: spcomp -i $includePath src/scripting/AS-MicroTF2-ExampleIntegration.sp -o src/scripting/AS-MicroTF2-ExampleIntegration.smx -E -O2 -v2 + working-directory: ${{ env.SCRIPTS_PATH }} + + - name: Create artifact structure + run: | + mkdir -p rel/tf/addons/sourcemod/data + mkdir -p rel/tf/addons/sourcemod/gamedata + mkdir -p rel/tf/addons/sourcemod/plugins + mkdir -p rel/tf/addons/sourcemod/translations + cp -r src/data/* rel/tf/addons/sourcemod/data/ + cp -r src/gamedata/* rel/tf/addons/sourcemod/gamedata/ + cp src/scripting/AS-MicroTF2.smx rel/tf/addons/sourcemod/plugins/AS-MicroTF2.smx + cp -r src/translations/* rel/tf/addons/sourcemod/translations/ + rm rel/tf/addons/sourcemod/translations/*.tsutproj + working-directory: ${{ env.SCRIPTS_PATH }} + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: plugin_SM_${{ matrix.smver }} + path: rel/