Comments (1)
It seems there are several different workflows to deal with here:
- Update the website on https://github.com/apache/lucenenet-site/tree/asf-site when a change to the
websites/site
folder is committed tomaster
- Update the docs and website when there is a new release (with a step to make a new docs link/TOC)
- Update the docs on https://github.com/apache/lucenenet-site/tree/asf-site/docs/
<version>
when there is a docs change committed to one of thedocs/<version>
branches - Create a temporary URL of the docs when a PR is submitted to any of the
docs/<version>
branches so the person who submits it can preview the docs - Create a temporary URL of the website when a PR is submitted so the person who submits it can preview the website
- Create a temporary URL of the docs and website to be part of a release pipeline so it can be previewed during the release vote
Numbers 1 through 3 are higher priority than 4 through 6.
Due to the fact we cannot use Azure DevOps for PRs due to Apache permission limitations, we should use GitHub Actions for those tasks. It would also be pretty simple to setup GitHub actions to auto-deploy the website when master
is updated. I recently used path filters on a GitHub Actions workflow to exclude paths that don't apply to the workflow, which would work perfectly for this scenario.
As for the temporary URLs, we could use the approach outlined in Static Web App PR Workflow for Azure App Service Using Azure DevOps. We can probably adapt the solution to launch from GitHub Actions rather than from Azure DevOps so the PRs will kick it off.
Notes:
- GitHub Actions doesn't load workflow files with a
.
in the name- Apache has a limited number of build agents for GitHub Actions, so long-running tasks should be done in Azure DevOps
- A GitHub Actions PR workflow will run if additional commits are pushed to the PR branch
The only two steps above that need to be part of the Azure DevOps release are numbers 2 and 6. Number 6 could be part of the Release stage on the build pipeline in YAML (preferred) or as a step prior to the Manual Intervention step (the vote) on the Release pipeline. Number 2 could be fully automated after the Manual Intervention step.
I believe all of the other workflows can be added as GitHub Actions.
Breaking this task down into 6 different workflows, can you think of anything that was overlooked or that cannot be fully automated?
from lucenenet.
Related Issues (20)
- Docs: DocFx Build Failure for API Docs HOT 4
- Lucene.Net: 4.8 SetNextReader executes repeatedly and returns only one result HOT 1
- Replace Lucene.Net.Support.Arrays.Empty<T> with System.Array.Empty<T>
- Audit use of AtomicInt32 and AtomicInt64 methods
- Improve ICollector usage
- Simplify IndexReader constructor
- Meta: Add Support unit tests HOT 1
- Review formatting of boolean strings (in ToString() methods and similar)
- Add cancellation support to IndexSearcher
- Fix test name reporting when test is in a base class
- Create Roslyn code analyzer to streamline review of proper usage of format/parse methods for numeric types
- Target .NET 8 HOT 16
- .Net 6 and 8 slower than .Net 472 HOT 7
- Remove unnecessary`[MethodImpl(MethodImplOptions.NoInlining)]`
- Fix calls to Exception.StackTrace
- Performance decrease 30x when running on .NET 8 HOT 37
- Set license expression on nuget HOT 1
- Poor multi-threaded indexing performance HOT 15
- Lucene.Net.Util.SystemConsole throws not supported exception in .NET MAUI app running on android/iOS
- Lucene.Net.Store.Azure.AzureDirectory: Enable usage with a sasuri and existing containers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lucenenet.