fix: get darwin universal binary (#312)

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos Alexandro Becker 2021-10-15 09:43:54 -03:00 committed by GitHub
parent 69b075db94
commit 5df302e5e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 25 additions and 19 deletions

View File

@ -26,7 +26,7 @@ jobs:
- windows-latest - windows-latest
version: version:
- latest - latest
- '~> 0.166' - '~> 0.182'
distribution: distribution:
- goreleaser - goreleaser
- goreleaser-pro - goreleaser-pro

View File

@ -8,10 +8,10 @@ describe('git', () => {
expect(tag).not.toEqual(''); expect(tag).not.toEqual('');
}); });
it('returns git tag through GITHUB_SHA', async () => { it('returns git tag through GITHUB_SHA', async () => {
process.env.GITHUB_SHA = '6e37040623d14330555c7be1603a9182cf92d32a'; process.env.GITHUB_SHA = '6389ff5bd287fd6948a7ccda8af8da4f0bbc856a';
const tag: string = await git.getTag(); const tag: string = await git.getTag();
console.log(`tag: ${tag}`); console.log(`tag: ${tag}`);
expect(tag).toEqual('v1'); expect(tag).toEqual('v2.2.1');
}); });
it('returns git tag through GITHUB_REF', async () => { it('returns git tag through GITHUB_REF', async () => {
process.env.GITHUB_REF = 'refs/tags/v2.2.1'; process.env.GITHUB_REF = 'refs/tags/v2.2.1';

View File

@ -6,29 +6,29 @@ describe('github', () => {
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual(''); expect(release?.tag_name).not.toEqual('');
}); });
it('returns v0.117.0 GoReleaser GitHub release', async () => { it('returns v0.182.0 GoReleaser GitHub release', async () => {
const release = await github.getRelease('goreleaser', 'v0.117.0'); const release = await github.getRelease('goreleaser', 'v0.182.0');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.117.0'); expect(release?.tag_name).toEqual('v0.182.0');
}); });
it('returns v0.132.1 GoReleaser GitHub release', async () => { it('returns v0.182.1 GoReleaser GitHub release', async () => {
const release = await github.getRelease('goreleaser', '~> 0.132'); const release = await github.getRelease('goreleaser', '~> 0.182');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.132.1'); expect(release?.tag_name).toEqual('v0.182.1');
}); });
it('returns latest GoReleaser Pro GitHub release', async () => { it('returns latest GoReleaser Pro GitHub release', async () => {
const release = await github.getRelease('goreleaser-pro', 'latest'); const release = await github.getRelease('goreleaser-pro', 'latest');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual(''); expect(release?.tag_name).not.toEqual('');
}); });
it('returns v0.166.0-pro GoReleaser Pro GitHub release', async () => { it('returns v0.182.0-pro GoReleaser Pro GitHub release', async () => {
const release = await github.getRelease('goreleaser-pro', 'v0.166.0-pro'); const release = await github.getRelease('goreleaser-pro', 'v0.182.0-pro');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.166.0-pro'); expect(release?.tag_name).toEqual('v0.182.0-pro');
}); });
it('returns v0.166.1-pro GoReleaser Pro GitHub release when using semver', async () => { it('returns v0.182.1-pro GoReleaser Pro GitHub release when using semver', async () => {
const release = await github.getRelease('goreleaser-pro', '~> 0.166'); const release = await github.getRelease('goreleaser-pro', '~> 0.182');
expect(release).not.toBeNull(); expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.166.1-pro'); expect(release?.tag_name).toEqual('v0.182.1-pro');
}); });
}); });

View File

@ -2,8 +2,8 @@ import fs = require('fs');
import * as installer from '../src/installer'; import * as installer from '../src/installer';
describe('installer', () => { describe('installer', () => {
it('acquires v0.117.0 version of GoReleaser', async () => { it('acquires v0.182.0 version of GoReleaser', async () => {
const goreleaser = await installer.getGoReleaser('goreleaser', 'v0.117.0'); const goreleaser = await installer.getGoReleaser('goreleaser', 'v0.182.0');
expect(fs.existsSync(goreleaser)).toBe(true); expect(fs.existsSync(goreleaser)).toBe(true);
}, 100000); }, 100000);
@ -12,8 +12,8 @@ describe('installer', () => {
expect(fs.existsSync(goreleaser)).toBe(true); expect(fs.existsSync(goreleaser)).toBe(true);
}, 100000); }, 100000);
it('acquires v0.166.0-pro version of GoReleaser Pro', async () => { it('acquires v0.182.0-pro version of GoReleaser Pro', async () => {
const goreleaser = await installer.getGoReleaser('goreleaser-pro', 'v0.166.0-pro'); const goreleaser = await installer.getGoReleaser('goreleaser-pro', 'v0.182.0-pro');
expect(fs.existsSync(goreleaser)).toBe(true); expect(fs.existsSync(goreleaser)).toBe(true);
}, 100000); }, 100000);

3
dist/index.js generated vendored
View File

@ -265,6 +265,9 @@ const getFilename = (distribution) => {
break; break;
} }
} }
if (osPlat == 'darwin') {
arch = 'all';
}
const platform = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux'; const platform = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux';
const ext = osPlat == 'win32' ? 'zip' : 'tar.gz'; const ext = osPlat == 'win32' ? 'zip' : 'tar.gz';
const suffix = pro.suffix(distribution); const suffix = pro.suffix(distribution);

View File

@ -66,6 +66,9 @@ const getFilename = (distribution: string): string => {
break; break;
} }
} }
if (osPlat == 'darwin') {
arch = 'all';
}
const platform: string = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux'; const platform: string = osPlat == 'win32' ? 'Windows' : osPlat == 'darwin' ? 'Darwin' : 'Linux';
const ext: string = osPlat == 'win32' ? 'zip' : 'tar.gz'; const ext: string = osPlat == 'win32' ? 'zip' : 'tar.gz';
const suffix: string = pro.suffix(distribution); const suffix: string = pro.suffix(distribution);