Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f02b8b744 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,4 @@
|
|||||||
# node_modules/
|
#node_modules/
|
||||||
__tests__/runner/*
|
__tests__/runner/*
|
||||||
|
|
||||||
# Created by https://www.gitignore.io/api/webstorm
|
# Created by https://www.gitignore.io/api/webstorm
|
||||||
|
|||||||
@@ -194,20 +194,22 @@ describe('ArtifactUploader', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mockListWithAssets() {
|
function mockListWithAssets() {
|
||||||
listArtifactsMock.mockResolvedValue([
|
listArtifactsMock.mockResolvedValue({
|
||||||
{
|
data: [
|
||||||
name: "art1",
|
{
|
||||||
id: 1
|
name: "art1",
|
||||||
},
|
id: 1
|
||||||
{
|
},
|
||||||
name: "art2",
|
{
|
||||||
id: 2
|
name: "art2",
|
||||||
}
|
id: 2
|
||||||
])
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function mockListWithoutAssets() {
|
function mockListWithoutAssets() {
|
||||||
listArtifactsMock.mockResolvedValue([])
|
listArtifactsMock.mockResolvedValue({data: []})
|
||||||
}
|
}
|
||||||
|
|
||||||
function mockUploadArtifact(status: number = 200, failures: number = 0) {
|
function mockUploadArtifact(status: number = 200, failures: number = 0) {
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ class GithubArtifactUploader {
|
|||||||
}
|
}
|
||||||
deleteUpdatedArtifacts(artifacts, releaseId) {
|
deleteUpdatedArtifacts(artifacts, releaseId) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const releaseAssets = yield this.releases.listArtifactsForRelease(releaseId);
|
const response = yield this.releases.listArtifactsForRelease(releaseId);
|
||||||
|
const releaseAssets = response.data;
|
||||||
const assetByName = {};
|
const assetByName = {};
|
||||||
releaseAssets.forEach(asset => {
|
releaseAssets.forEach(asset => {
|
||||||
assetByName[asset.name] = asset;
|
assetByName[asset.name] = asset;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class GithubReleases {
|
|||||||
}
|
}
|
||||||
listArtifactsForRelease(releaseId) {
|
listArtifactsForRelease(releaseId) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
return this.git.paginate(this.git.repos.listReleaseAssets, {
|
return this.git.repos.listReleaseAssets({
|
||||||
owner: this.inputs.owner,
|
owner: this.inputs.owner,
|
||||||
release_id: releaseId,
|
release_id: releaseId,
|
||||||
repo: this.inputs.repo
|
repo: this.inputs.repo
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ export class GithubArtifactUploader implements ArtifactUploader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async deleteUpdatedArtifacts(artifacts: Artifact[], releaseId: number): Promise<void> {
|
private async deleteUpdatedArtifacts(artifacts: Artifact[], releaseId: number): Promise<void> {
|
||||||
const releaseAssets = await this.releases.listArtifactsForRelease(releaseId)
|
const response = await this.releases.listArtifactsForRelease(releaseId)
|
||||||
|
const releaseAssets = response.data
|
||||||
const assetByName: Record<string, { id: number; name: string }> = {}
|
const assetByName: Record<string, { id: number; name: string }> = {}
|
||||||
releaseAssets.forEach(asset => {
|
releaseAssets.forEach(asset => {
|
||||||
assetByName[asset.name] = asset
|
assetByName[asset.name] = asset
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {Inputs} from "./Inputs";
|
|||||||
export type CreateReleaseResponse = RestEndpointMethodTypes["repos"]["createRelease"]["response"]
|
export type CreateReleaseResponse = RestEndpointMethodTypes["repos"]["createRelease"]["response"]
|
||||||
export type ReleaseByTagResponse = RestEndpointMethodTypes["repos"]["getReleaseByTag"]["response"]
|
export type ReleaseByTagResponse = RestEndpointMethodTypes["repos"]["getReleaseByTag"]["response"]
|
||||||
export type ListReleasesResponse = RestEndpointMethodTypes["repos"]["listReleases"]["response"]
|
export type ListReleasesResponse = RestEndpointMethodTypes["repos"]["listReleases"]["response"]
|
||||||
export type ListReleaseAssetsResponseData = RestEndpointMethodTypes["repos"]["listReleaseAssets"]["response"]["data"]
|
export type ListReleaseAssetsResponse = RestEndpointMethodTypes["repos"]["listReleaseAssets"]["response"]
|
||||||
export type UpdateReleaseResponse = RestEndpointMethodTypes["repos"]["updateRelease"]["response"]
|
export type UpdateReleaseResponse = RestEndpointMethodTypes["repos"]["updateRelease"]["response"]
|
||||||
export type UploadArtifactResponse = RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["response"]
|
export type UploadArtifactResponse = RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["response"]
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ export interface Releases {
|
|||||||
|
|
||||||
getByTag(tag: string): Promise<ReleaseByTagResponse>
|
getByTag(tag: string): Promise<ReleaseByTagResponse>
|
||||||
|
|
||||||
listArtifactsForRelease(releaseId: number): Promise<ListReleaseAssetsResponseData>
|
listArtifactsForRelease(releaseId: number): Promise<ListReleaseAssetsResponse>
|
||||||
|
|
||||||
listReleases(): Promise<ListReleasesResponse>
|
listReleases(): Promise<ListReleasesResponse>
|
||||||
|
|
||||||
@@ -102,8 +102,8 @@ export class GithubReleases implements Releases {
|
|||||||
|
|
||||||
async listArtifactsForRelease(
|
async listArtifactsForRelease(
|
||||||
releaseId: number
|
releaseId: number
|
||||||
): Promise<ListReleaseAssetsResponseData> {
|
): Promise<ListReleaseAssetsResponse> {
|
||||||
return this.git.paginate(this.git.repos.listReleaseAssets, {
|
return this.git.repos.listReleaseAssets({
|
||||||
owner: this.inputs.owner,
|
owner: this.inputs.owner,
|
||||||
release_id: releaseId,
|
release_id: releaseId,
|
||||||
repo: this.inputs.repo
|
repo: this.inputs.repo
|
||||||
|
|||||||
Reference in New Issue
Block a user