| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| |
| name: 'Lucene.Net.Website' |
| |
| # This will: |
| # checkout this repo |
| # Build the website |
| # Checkout the website repo |
| # Create a branch |
| # Commit/Push to the branch |
| # Create a PR |
| |
| on: |
| create: |
| tags: |
| - Website_* |
| push: |
| #branches: |
| #- master |
| paths: |
| - 'websites/site/**' |
| #- '.github/workflows/Lucene-Net-Website.yml' # This causes the action to run whenever this file is added to any branch (seems like overkill) |
| |
| env: |
| # If a tag is specified, the tag will be in the format: Website_4_8_0_beta00013 which |
| # will be parsed to create the version number used in the docs like 4.8.0-beta00013 |
| CURRENT_TAG: "NO-VERSION" |
| RELEASE_VERSION: "(no tag)" |
| # SITE_REPO: shazwazza/lucenenet-site |
| SITE_REPO: apache/lucenenet-site |
| |
| jobs: |
| build: |
| runs-on: windows-latest |
| steps: |
| - name: Checkout Lucene.Net source |
| uses: actions/checkout@v2 |
| with: |
| path: main-repo |
| |
| - name: Set version from tag |
| run: | |
| # initialize to SHA |
| echo ("CURRENT_TAG=" + $Env:GITHUB_SHA) >> $env:GITHUB_ENV |
| $ref = $Env:GITHUB_REF |
| |
| # if the ref is a tag |
| if ($ref.StartsWith("refs/tags/")) { |
| $tag = $ref.Substring(10) |
| |
| # write the environment var |
| echo ("CURRENT_TAG=" + $tag) >> $env:GITHUB_ENV |
| |
| $parts = $tag.Split("_") |
| $version = ''; |
| For ($i=0; $i -le $parts.Length; $i++) { |
| $version += $parts[$i] |
| if ($i -eq ($parts.Length - 2)) { |
| $version += "-" |
| } |
| elseif ($i -lt ($parts.Length - 1)) { |
| $version += "." |
| } |
| } |
| if ($version -ne '') { |
| # the tag parsed to the correct version format, write the environment var |
| echo ("RELEASE_VERSION=" + $version) >> $env:GITHUB_ENV |
| } |
| } |
| shell: powershell |
| |
| - name: Verify environment variables |
| run: | |
| echo "CURRENT_TAG=$Env:CURRENT_TAG" |
| echo "RELEASE_VERSION=$Env:RELEASE_VERSION" |
| shell: powershell |
| |
| - name: Build website |
| run: ./main-repo/websites/site/site.ps1 |
| shell: powershell |
| - name: Checkout Lucene.Net website |
| uses: actions/checkout@v2 |
| with: |
| repository: ${{ env.SITE_REPO }} |
| ref: asf-site |
| path: website-repo |
| - name: Copy website files |
| run: Get-ChildItem -Path "$Env:GITHUB_WORKSPACE\main-repo\websites\site\_site" | Copy-Item -Destination "$Env:GITHUB_WORKSPACE\website-repo" -Recurse -Force |
| shell: powershell |
| - name: Create Pull Request |
| id: cpr |
| uses: peter-evans/create-pull-request@v3 |
| with: |
| token: ${{ secrets.LUCENE_NET_WEBSITE_BUILD }} |
| path: website-repo |
| commit-message: New website version built |
| committer: GitHub <noreply@github.com> |
| author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> |
| branch: task/website-build-${{ env.CURRENT_TAG }} |
| delete-branch: true |
| title: 'New website build ${{ env.CURRENT_TAG }}' |
| body: | |
| New website build on rev/tag ${{ env.CURRENT_TAG }} |
| For release version ${{ env.RELEASE_VERSION }} |
| - name: Check outputs |
| run: | |
| echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" |
| echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" |