diff --git a/.github/workflows/vita.yml b/.github/workflows/vita.yml new file mode 100644 index 0000000000..57e2c0fc03 --- /dev/null +++ b/.github/workflows/vita.yml @@ -0,0 +1,55 @@ +name: PlayStation Vita CI + +on: [push, pull_request] + +jobs: + build: + name: ${{ matrix.config.name }} + runs-on: ubuntu-latest + container: vitasdk/vitasdk:latest + + strategy: + matrix: + config: + - {name: standalone, destDir: vita} + + steps: + - name: Set up build environment + run: | + apk add --no-cache aws-cli ccache git ninja + vdpm curl libzip openssl SceShaccCgExt sdl2 vitaGL vitaShaRK taihen zlib + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: true + + - uses: actions/cache@v3 + with: + path: ~/.ccache + key: ccache-vita-${{ matrix.config.name }}-${{ github.sha }} + restore-keys: ccache-vita-${{ matrix.config.name }}- + + - name: CMake + run: | + cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$VITASDK/share/vita.toolchain.cmake -G Ninja ${{ matrix.config.cmakeArgs }} + cmake --build build --config Release --target kubridge_all + cmake --build build --config Release --target Flycast.vpk-vpk + + - uses: actions/upload-artifact@v3 + with: + name: flycast-vita-${{ matrix.config.name }} + path: build/Flycast.vpk + + - name: Configure AWS Credentials + id: aws-credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: AKIAJOZQS4H2PHQWYFCA + aws-secret-access-key: ${{ secrets.S3_SECRET_KEY }} + aws-region: us-east-2 + if: github.repository == 'flyinghead/flycast' && github.event_name == 'push' && matrix.config.destDir != '' + + - name: Upload to S3 + run: aws s3 sync artifact/bin s3://flycast-builds/${{ matrix.config.destDir }}/${GITHUB_REF#refs/}-$GITHUB_SHA --acl public-read --follow-symlinks + if: ${{ steps.aws-credentials.outputs.aws-account-id != '' }}