@@ -11,22 +11,22 @@ import resolveConfig from "./resolve-config.js";
1111import getRepoId from "./get-repo-id.js" ;
1212import getAssets from "./glob-assets.js" ;
1313import { RELEASE_NAME } from "./definitions/constants.js" ;
14+ import semver from "semver" ;
1415
1516const isUrlScheme = ( value ) => / ^ ( h t t p s | h t t p | f t p ) : \/ \/ / . test ( value ) ;
1617
1718export default async ( pluginConfig , context ) => {
1819 const {
1920 cwd,
2021 options : { repositoryUrl } ,
21- nextRelease : { gitTag, gitHead, notes, version } ,
22+ nextRelease : { gitTag, gitHead, notes, version, channel } ,
2223 logger,
2324 } = context ;
2425 const { gitlabToken, gitlabUrl, gitlabApiUrl, assets, milestones, proxy } = resolveConfig ( pluginConfig , context ) ;
2526 const assetsList = [ ] ;
2627 const repoId = getRepoId ( context , gitlabUrl , repositoryUrl ) ;
2728 const encodedRepoId = encodeURIComponent ( repoId ) ;
2829 const encodedGitTag = encodeURIComponent ( gitTag ) ;
29- const encodedVersion = encodeURIComponent ( version ) ;
3030 const apiOptions = { headers : { "PRIVATE-TOKEN" : gitlabToken } } ;
3131
3232 debug ( "repoId: %o" , repoId ) ;
@@ -88,11 +88,14 @@ export default async (pluginConfig, context) => {
8888
8989 if ( target === "generic_package" ) {
9090 // Upload generic packages
91- const encodedLabel = encodeURIComponent ( label ) ;
91+ const { major, minor, patch } = semver . parse ( version ) ;
92+ const encodedVersion = `${ major } .${ minor } .${ patch } ` ;
93+ const encodedLabel = encodeURIComponent ( label ?? version ) ;
94+ const encodedChannel = encodeURIComponent ( channel ?? "release" ) ;
9295 // https://docs.gitlab.com/ee/user/packages/generic_packages/#publish-a-package-file
9396 uploadEndpoint = urlJoin (
9497 gitlabApiUrl ,
95- `/projects/${ encodedRepoId } /packages/generic/release /${ encodedVersion } /${ encodedLabel } ?${
98+ `/projects/${ encodedRepoId } /packages/generic/${ encodedChannel } /${ encodedVersion } /${ encodedLabel } ?${
9699 status ? `status=${ status } &` : ""
97100 } select=package_file`
98101 ) ;
@@ -109,7 +112,7 @@ export default async (pluginConfig, context) => {
109112 // https://docs.gitlab.com/ee/user/packages/generic_packages/#download-package-file
110113 const url = urlJoin (
111114 gitlabApiUrl ,
112- `/projects/${ encodedRepoId } /packages/generic/release /${ encodedVersion } /${ encodedLabel } `
115+ `/projects/${ encodedRepoId } /packages/generic/${ encodedChannel } /${ encodedVersion } /${ encodedLabel } `
113116 ) ;
114117
115118 assetsList . push ( { label, alt : "release" , url, type : "package" , filepath } ) ;
0 commit comments