blob: 68a526a1ca8559ed23ef7c7f04bd95eccaeed30a [file] [log] [blame]
# 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 }}"