fix: Add docker-compose to PATH (#274)

* Expose command as `docker-compose`

* Format and package
This commit is contained in:
Tibo Delor
2021-09-01 12:29:50 +10:00
committed by GitHub
parent f73439ca62
commit ecd3566c81
4 changed files with 27 additions and 6 deletions

View File

@@ -1,7 +1,21 @@
import {runCommand} from '../src/install' import {install, runCommand} from '../src/install'
import * as core from '@actions/core'
import {expect, test} from '@jest/globals' import {expect, test} from '@jest/globals'
test('runCommand', async () => { test('runCommand', async () => {
const result = await runCommand('echo foo bar') const result = await runCommand('echo foo bar')
expect(result).toBe('foo bar') expect(result).toBe('foo bar')
}) })
async function testVersion(version: string) {
const commandPath = await install(version)
core.addPath(commandPath)
const result = await runCommand('docker-compose version')
expect(result).toContain(version)
}
test('Install the right version', async () => {
await testVersion('1.29.1')
await testVersion('1.29.2')
})

5
dist/index.js vendored
View File

@@ -43,7 +43,8 @@ function installOnLinux(version) {
const url = `https://github.com/docker/compose/releases/download/${version}/docker-compose-${yield system}-${yield hardware}`; const url = `https://github.com/docker/compose/releases/download/${version}/docker-compose-${yield system}-${yield hardware}`;
const installerPath = yield (0, tool_cache_1.downloadTool)(url); const installerPath = yield (0, tool_cache_1.downloadTool)(url);
yield (0, exec_1.exec)(`chmod +x ${installerPath}`); yield (0, exec_1.exec)(`chmod +x ${installerPath}`);
return installerPath; const cachedPath = yield (0, tool_cache_1.cacheFile)(installerPath, 'docker-compose', 'docker-compose', version);
return cachedPath;
}); });
} }
function install(version) { function install(version) {
@@ -107,7 +108,7 @@ function run() {
core.addPath(commandPath); core.addPath(commandPath);
} }
catch (error) { catch (error) {
core.setFailed(error instanceof Error ? error.message : "Unknown error"); core.setFailed(error instanceof Error ? error.message : 'Unknown error');
} }
}); });
} }

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import {downloadTool} from '@actions/tool-cache' import {cacheFile, downloadTool} from '@actions/tool-cache'
import {exec} from '@actions/exec' import {exec} from '@actions/exec'
export async function runCommand(command: string): Promise<string> { export async function runCommand(command: string): Promise<string> {
@@ -22,7 +22,13 @@ async function installOnLinux(version: string): Promise<string> {
const url = `https://github.com/docker/compose/releases/download/${version}/docker-compose-${await system}-${await hardware}` const url = `https://github.com/docker/compose/releases/download/${version}/docker-compose-${await system}-${await hardware}`
const installerPath = await downloadTool(url) const installerPath = await downloadTool(url)
await exec(`chmod +x ${installerPath}`) await exec(`chmod +x ${installerPath}`)
return installerPath const cachedPath = await cacheFile(
installerPath,
'docker-compose',
'docker-compose',
version
)
return cachedPath
} }
export async function install(version: string): Promise<string> { export async function install(version: string): Promise<string> {