-
Notifications
You must be signed in to change notification settings - Fork 428
/
Copy pathbuildspec.yml
81 lines (79 loc) · 3.86 KB
/
buildspec.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
version: 0.2
env:
exported-variables:
- LONG_COMMIT_ID
phases:
install:
commands:
- "cd $HOME/.goenv && git pull --ff-only && cd -"
- "goenv install 1.21.1" # Check if a version is available: https://github.com/syndbg/goenv/tree/master/plugins/go-build/share/go-build
- "goenv global 1.21.1"
pre_build:
commands:
- echo "cd into $CODEBUILD_SRC_DIR"
- cd $CODEBUILD_SRC_DIR
- export GOMOD=$CODEBUILD_SRC_DIR/go.mod:GOMOD
- export GOPATH="/go"
build:
commands:
- echo "Compilation context:"
- echo "CODEBUILD_SOURCE_VERSION=$CODEBUILD_SOURCE_VERSION"
- make tools
- make release
finally:
- echo "Built artifacts:"
- ls -lah ./bin/local
- ./bin/local/copilot-linux-amd64 --version
post_build:
commands:
- VERSION=`./bin/local/copilot-linux-amd64 --version`
- VERSION=`echo $VERSION | grep -oE "[^ ]+$"`
- COMMIT_VERSION=`git rev-parse --short HEAD`
- GIT_TAG=`git tag --contains $COMMIT_VERSION`
- echo "Creating version-tagged artifacts..."
- ARTIFACT_DIRECTORY=aws/copilot
- mkdir -p $ARTIFACT_DIRECTORY
- mv ./bin/local/copilot.exe $ARTIFACT_DIRECTORY/copilot-windows-$VERSION.exe
- cp ./bin/local/copilot-darwin-amd64 $ARTIFACT_DIRECTORY/copilot-darwin-$VERSION
- mv ./bin/local/copilot-darwin-amd64 $ARTIFACT_DIRECTORY/copilot-darwin-amd64-$VERSION
- mv ./bin/local/copilot-darwin-arm64 $ARTIFACT_DIRECTORY/copilot-darwin-arm64-$VERSION
- cp ./bin/local/copilot-linux-amd64 $ARTIFACT_DIRECTORY/copilot-linux-$VERSION
- mv ./bin/local/copilot-linux-amd64 $ARTIFACT_DIRECTORY/copilot-linux-amd64-$VERSION
- mv ./bin/local/copilot-linux-arm64 $ARTIFACT_DIRECTORY/copilot-linux-arm64-$VERSION
- |
if [ ! -z "$GIT_TAG" ];then
echo "Generating latest binaries as well for $GIT_TAG"
cp $ARTIFACT_DIRECTORY/copilot-windows-$VERSION.exe $ARTIFACT_DIRECTORY/copilot-windows.exe
cp $ARTIFACT_DIRECTORY/copilot-darwin-amd64-$VERSION $ARTIFACT_DIRECTORY/copilot-darwin
cp $ARTIFACT_DIRECTORY/copilot-darwin-amd64-$VERSION $ARTIFACT_DIRECTORY/copilot-darwin-amd64
cp $ARTIFACT_DIRECTORY/copilot-darwin-arm64-$VERSION $ARTIFACT_DIRECTORY/copilot-darwin-arm64
cp $ARTIFACT_DIRECTORY/copilot-linux-$VERSION $ARTIFACT_DIRECTORY/copilot-linux
cp $ARTIFACT_DIRECTORY/copilot-linux-arm64-$VERSION $ARTIFACT_DIRECTORY/copilot-linux-arm64
fi
- echo "Creating manifest file..."
- LONG_COMMIT_ID=`git rev-parse HEAD`
- MANIFESTFILE="$LONG_COMMIT_ID.manifest"
- echo $ARTIFACT_DIRECTORY/copilot-windows-$VERSION.exe >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-darwin-$VERSION >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-darwin-amd64-$VERSION >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-darwin-arm64-$VERSION >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-linux-$VERSION >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-linux-amd64-$VERSION >> $MANIFESTFILE
- echo $ARTIFACT_DIRECTORY/copilot-linux-arm64-$VERSION >> $MANIFESTFILE
- |
if [ ! -z "$GIT_TAG" ];then
echo "Copying the latest binaries to the manifest for $GIT_TAG"
echo $ARTIFACT_DIRECTORY/copilot-windows.exe >> $MANIFESTFILE
echo $ARTIFACT_DIRECTORY/copilot-darwin >> $MANIFESTFILE
echo $ARTIFACT_DIRECTORY/copilot-darwin-amd64 >> $MANIFESTFILE
echo $ARTIFACT_DIRECTORY/copilot-darwin-arm64 >> $MANIFESTFILE
echo $ARTIFACT_DIRECTORY/copilot-linux >> $MANIFESTFILE
echo $ARTIFACT_DIRECTORY/copilot-linux-arm64 >> $MANIFESTFILE
fi
finally:
- echo "Built artifacts:"
- ls -lah $ARTIFACT_DIRECTORY
- $ARTIFACT_DIRECTORY/copilot-linux-$VERSION --version
artifacts:
files:
- "**/*"