asyncapi / php-template Goto Github PK
View Code? Open in Web Editor NEWPHP Template for AsyncAPI generator
License: Apache License 2.0
PHP Template for AsyncAPI generator
License: Apache License 2.0
This issue defines a list of tasks that need to be performed in this repo to make sure it's ci/cd automation works long term without any issues.
It is up to maintainers to decide if it must be addressed in one or multiple PRs.
Below are 3 different sections describing 3 different important ci/cd changes.
IMPORTANT-START
For GitHub workflows that contain This workflow is centrally managed in https://github.com/asyncapi/.github/
you do not have to perform any work. These workflows were already updated through the update in .github
. The only exception is the workflows related to nodejs release. More details in Upgrade Release pipeline - in case of nodejs projects section
IMPORTANT-END
Every single GitHub Action workflow that has echo "::set-output name={name}::{value}"
need to be updated to follow echo "{name}={value}" >> $GITHUB_OUTPUT
We do not yet know when set-output
will stop working. Previous disable date was 31.05 but now then say community needs more time.
For more details read official article from GitHub
2nd bullet point is still relevant for you even if your projects in not nodejs project
v3
version of this action, and make sure minimum node 14 is usednode12
is that node-based GitHub Actions were using it in majority as a runtime environment. Look for example at this action.yaml file for setup-node action v2. So the job that you have to do is go through all the workflows, and verify every single action that you use, make sure you are using the latest version that is not based on node12
. I already did review a lot of actions as part of this PR so maybe you will find some actions there and can copy from me. For example action/checkout
needs to be updated to v3.Node12 end of support in action is probably September 27th.
For more details read official article from GitHub
ignore this section if your project is not nodejs project
You have 2 options. You can:
A. choose to switch to new release pipeline using instruction from asyncapi/.github#205
B. stay with old release pipeline, and manually update GitHub workflows and actions used in it, you can inspire a lot from this PR asyncapi/.github#226
I definitely recommend going with A
Workflows related to release:
@emilianozublena hey, wanted to check with you what are your plans for this template. If you still want to maintain it, as I was thinking, basing on the fact that it got contribution and there are starts, that we should finally release it as official asyncapi template.
But of course it makes sense only if it is going to be maintained
Now that there seems to be interest in this template, we need to fix a couple of things, probably add more support for other async driven technologies (currently it only supports RabbitMQ) and other stuff we deem important.
In order for us to start chatting about next steps i've started this issue @Ferror, so please let me know your thoughts or where would you like to contribute.
Initially i had these in mind:
We have recently started validating links in the markdown files across all of the repositories across the organization.
As I can see in the latest check by the time of writing this issue, there are some invalid links in some markdown files that need fixing.
mlc_config.json
at the root of the repo.If you still have some issues, please check some example fixes in other repositories:
asyncapi/spec#769
asyncapi/parser-js#540
asyncapi/glee#288
asyncapi/java-spring-template#219
This Issue is used to track changes needed to support AsyncAPI v3. As a code owner, please edit this list of TODO tasks in order to properly track the progress ๐ Once this issue is closed it means that v3 is now fully supported in this library.
Remaining tasks:
apiVersion
Adding hook fixes that:
function toCamelCase(text) {
return text.replace(/-\w/g, clearAndUpper);
}
function toPascalCase(text) {
return text.replace(/(^\w|-\w)/g, clearAndUpper);
}
function clearAndUpper(text) {
return text.replace(/-/g, "").toUpperCase();
}
function clearArrows(text) {
return text.replace(/[<>]+/g, "");
}
module.exports = {
'setFileTemplateName': (generator, hookArguments) => {
const currentFilename = hookArguments.originalFilename;
return toPascalCase(clearArrows(currentFilename))
}
};
We can set package name with packageName parameter, but BrokerAPI is still added to namespace.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.