diff --git a/.github/workflows/build-timestamped-master.yml b/.github/workflows/build-timestamped-master.yml index 6442123..d9dbd5b 100644 --- a/.github/workflows/build-timestamped-master.yml +++ b/.github/workflows/build-timestamped-master.yml @@ -1,18 +1,64 @@ name: Build on: - push: - branches: - - main - paths-ignore: - - '*.md' - - 'docs/**' - - workflow_dispatch: + workflow_dispatch: + push: + branches: + - main + - 2201.[0-9]+.x + paths-ignore: + - 'load-tests/**' + - '*.md' + - 'docs/**' jobs: - call_workflow: - name: Run Build Workflow - if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/build-timestamp-master-template.yml@main - secrets: inherit + build: + runs-on: ubuntu-latest + if: github.repository_owner == 'ballerina-platform' + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: 17.0.7 + - name: Change to Timestamped Version + run: | + initialVersion=$((grep -w 'version' | cut -d= -f2) < gradle.properties ) + echo "Initial_Version=$initialVersion" >> $GITHUB_ENV + startTime=$(TZ="Asia/Kolkata" date +'%Y%m%d-%H%M00') + latestCommit=$(git log -n 1 --pretty=format:"%h") + VERSION=$((grep -w 'version' | cut -d= -f2) < gradle.properties | rev | cut --complement -d- -f1 | rev) + updatedVersion=$VERSION-$startTime-$latestCommit + echo $updatedVersion + sed -i "s/version=\(.*\)/version=$updatedVersion/g" gradle.properties + - name: Build with Gradle + env: + packageUser: ${{ secrets.BALLERINA_BOT_USERNAME }} + packagePAT: ${{ secrets.BALLERINA_BOT_TOKEN }} + publishUser: ${{ secrets.BALLERINA_BOT_USERNAME }} + publishPAT: ${{ secrets.BALLERINA_BOT_TOKEN }} + CLIENT_ID: ${{ secrets.CLIENT_ID }} + CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} + REFRESH_TOKEN: ${{ secrets.REFRESH_TOKEN }} + run: | + ./gradlew clean build publishAllPublicationsToGitHubPackagesRepository --scan --no-daemon + - name: Generate CodeCov Report + uses: codecov/codecov-action@v2 + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: ballerina-runtime + path: target/ballerina-runtime/ + - name: Revert to SNAPSHOT Version + run: | + echo "version=${{ env.Initial_Version }}" + sed -i "s/version=\(.*\)/version=${{ env.Initial_Version }}/g" gradle.properties + - name: Publish to Nexus + env: + packageUser: ${{ secrets.BALLERINA_BOT_USERNAME }} + packagePAT: ${{ secrets.BALLERINA_BOT_TOKEN }} + nexusUser: ${{ secrets.NEXUS_USERNAME }} + nexusPassword: ${{ secrets.NEXUS_PASSWORD }} + run: | + ./gradlew clean publishMavenJavaPublicationToWSO2NexusRepository -x test --scan --no-daemon