diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..2113cd9 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,51 @@ +name: MAVSDK-Java + +on: + push: + branches: + - 'main' + pull_request: + branches: + - '**' + release: + types: [created] + +jobs: + main: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Prepare tokens keystore + run: | + echo "${{ secrets.TOKENS_KEYSTORE }}" > /tmp/keystore.properties.b64 + base64 -d -i /tmp/keystore.properties.b64 > /tmp/keystore.properties + cp /tmp/keystore.properties sdk + cp /tmp/keystore.properties mavsdk_server + - name: Prepare GPG key + run: echo "${{ secrets.SIGNING_PGP_KEY }}" | gpg --batch --import + - name: Build and prepare mavsdk + working-directory: ./sdk + run: | + set -o pipefail + python3 -m venv venv + source ./venv/bin/activate + pip install protoc-gen-mavsdk + ./gradlew build + ./gradlew publish + - name: Build and prepare mavsdk-server + working-directory: ./mavsdk_server + run: | + set -o pipefail + ./gradlew build + ./gradlew publish + - name: Deploy mavsdk + if: github.event_name == 'release' && github.event.action == 'created' + working-directory: ./sdk + run: ./gradlew jreleaserDeploy + - name: Deploy mavsdk-server + if: github.event_name == 'release' && github.event.action == 'created' + working-directory: ./mavsdk_server + run: ./gradlew jreleaserDeploy +