name: Build&Release on: push: branches: - main pull_request: branches: - main jobs: build_and_release: runs-on: ubuntu steps: - name: Install Node.js run: | curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs node -v npm -v - name: Checkout repository uses: actions/checkout@v2 - name: Install JDK 21 run: | sudo apt update sudo apt install -y openjdk-21-jdk java -version - name: Cache Maven dependencies uses: actions/cache@v2 with: path: ~/.m2/repository key: maven-${{ hashFiles('**/pom.xml') }} restore-keys: | maven- - name: Build with Maven run: mvn clean install -DskipTests - name: Run tests run: mvn test - name: Prepare release run: mvn release:prepare -DreleaseVersion=1.0.0 -DdevelopmentVersion=1.1.0-SNAPSHOT -DpushChanges=false - name: Perform release run: mvn release:perform - name: Publish release (optional) run: | git tag v1.0.0 git push origin v1.0.0