q-shift / backstage-plugins

Apache License 2.0
3 stars 7 forks source link

release workflows #51

Closed jacobdotcosta closed 8 months ago

jacobdotcosta commented 8 months ago

Provides 2 workflows:

Closes #49

jacobdotcosta commented 8 months ago

I think that we need also a step to verify if the package(s) that we would like to publish part of a release do not yet exist on npmjs.org !

Do you mean check if packages with the same release number already exist on npmjs.org? There shouldn't be as this should be the only way of publishing the artifacts.

cmoulliard commented 8 months ago

Do you mean check if packages with the same release number already exist on npmjs.org? There shouldn't be as this should be the only way of publishing the artifacts.

Yes or locally. Why ? npmjs.org don't support anymore that we override a package already pushed as that was possible in the past

jacobdotcosta commented 8 months ago

I have it but I'm not sure where to place the validation. Should it be placed on the first workflow to prevent the creation of the version PR tag?

cmoulliard commented 8 months ago

I have it but I'm not sure where to place the validation. Should it be placed on the first workflow to prevent the creation of the version PR tag?

That makes sense

cmoulliard commented 8 months ago

Can you add a section to the README to explain what folks should do to trigger a new release ? @jacobdotcosta

jacobdotcosta commented 8 months ago

Added a RELEASE.md file documenting the release process.

jacobdotcosta commented 8 months ago

The 3 git workflows include the following actions:

        - name: Build all plugins
          uses: ./.github/actions/build
          with:
            node_version: ${{ matrix.node-version }}

        - name: Verify dist files generated (*.d.ts)
          run: |
            ls -la plugins/*/dist

I think that only the flow tag-for-release.yaml should include them as it makes no sense to tag/release and push to npmjs.org if we cannot compile the typescript files, generate the javascript files

I agree that the release workflow won't need this but are you sure the Publish workflow also doesn't need it? Won't it need the project to have been built in order to publish it to npmjs.org?

cmoulliard commented 8 months ago

I agree that the release workflow won't need this but are you sure the Publish workflow also doesn't need it? Won't it need the project to have been built in order to publish it to npmjs.org?

As we don't save the artifacts built (= js files), then such a build is needed when we push on npmjs.org. Nevertheless, in order to tag the git repo, we should also do a build to be sure that project is in good health ;-)

jacobdotcosta commented 8 months ago

I agree that the release workflow won't need this but are you sure the Publish workflow also doesn't need it? Won't it need the project to have been built in order to publish it to npmjs.org?

As we don't save the artifacts built (= js files), then such a build is needed when we push on npmjs.org. Nevertheless, in order to tag the git repo, we should also do a build to be sure that project is in good health ;-)

Great, so I'll leave this as is.

cmoulliard commented 8 months ago

Great, so I'll leave this as is.

No. Here is what we should do concerning the existing jobs @jacobdotcosta

jacobdotcosta commented 8 months ago

Made several improvements to the docs. Could you take another look @cmoulliard ?