name: Update Documentation on: push: branches: - main jobs: build: permissions: contents: write runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version-file: .java-version cache: 'maven' - name: Install gRPC documentation tooling run: | sudo apt-get update sudo apt-get install -y protobuf-compiler pip install sabledocs - name: Generate OpenAPI documentation run: ./mvnw compile - name: Generate gRPC documentation run: | protoc -I service/src/main/proto service/src/main/proto/org/signal/chat/*.proto \ -o api-doc/grpc/descriptor.pb --include_source_info cd api-doc/grpc && sabledocs - name: Push documentation to gh-pages env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git config user.email "github@signal.org" git config user.name "Documentation Updater" git fetch origin gh-pages git checkout gh-pages cp api-doc/target/openapi/signal-server-openapi.yaml . rm -rf grpc cp -r api-doc/grpc/sabledocs_output grpc git add -A signal-server-openapi.yaml grpc git diff --cached --quiet || git commit -m "Updating documentation" git push origin gh-pages -q