Skip to content

Commit 0d31a51

Browse files
committed
Add github release creation
1 parent 61d1af0 commit 0d31a51

File tree

5 files changed

+123
-54
lines changed

5 files changed

+123
-54
lines changed
Lines changed: 5 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
name: ci
2-
on: [push, pull_request, release]
1+
name: code
2+
on: [push, pull_request]
3+
4+
env:
5+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36

47
jobs:
58
fmt:
@@ -21,8 +24,6 @@ jobs:
2124
uses: ./ci/image
2225
with:
2326
args: yarn && yarn vscode && yarn fmt
24-
env:
25-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2627

2728
lint:
2829
runs-on: ubuntu-latest
@@ -43,8 +44,6 @@ jobs:
4344
uses: ./ci/image
4445
with:
4546
args: yarn && yarn vscode && yarn lint
46-
env:
47-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4847

4948
test:
5049
runs-on: ubuntu-latest
@@ -65,47 +64,3 @@ jobs:
6564
uses: ./ci/image
6665
with:
6766
args: yarn && yarn vscode && yarn test
68-
env:
69-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70-
71-
release-linux-amd64:
72-
runs-on: ubuntu-latest
73-
steps:
74-
- uses: actions/checkout@v1
75-
76-
- name: Get yarn cache directory path
77-
id: yarn-cache-dir-path
78-
run: echo "::set-output name=dir::$(yarn cache dir)"
79-
- uses: actions/cache@v1
80-
with:
81-
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
82-
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
83-
restore-keys: |
84-
${{ runner.os }}-yarn-
85-
86-
- name: Run release.sh
87-
uses: ./ci/image
88-
with:
89-
args: yarn && yarn vscode && ./ci/release.sh
90-
env:
91-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92-
93-
release-macos:
94-
runs-on: macos-latest
95-
steps:
96-
- uses: actions/checkout@v1
97-
98-
- name: Get yarn cache directory path
99-
id: yarn-cache-dir-path
100-
run: echo "::set-output name=dir::$(yarn cache dir)"
101-
- uses: actions/cache@v1
102-
with:
103-
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
104-
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
105-
restore-keys: |
106-
${{ runner.os }}-yarn-
107-
108-
- name: Run release.sh
109-
run: yarn && yarn vscode && ./ci/release.sh
110-
env:
111-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: release
2+
on:
3+
push:
4+
# tags:
5+
# - 'v*'
6+
7+
env:
8+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9+
10+
jobs:
11+
linux-amd64:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v1
15+
16+
- name: Get yarn cache directory path
17+
id: yarn-cache-dir-path
18+
run: echo "::set-output name=dir::$(yarn cache dir)"
19+
- uses: actions/cache@v1
20+
with:
21+
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
22+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
23+
restore-keys: |
24+
${{ runner.os }}-yarn-
25+
26+
- name: Run release.sh
27+
uses: ./ci/image
28+
with:
29+
args: yarn && yarn vscode && ./ci/release.sh
30+
env:
31+
PACKAGE: true
32+
- name: Get release name
33+
id: get-release-name
34+
run: echo "::set-output name=name::$(cd release && ls *.tar.gz)"
35+
36+
- name: Upload release as artifact
37+
uses: actions/upload-artifact@master
38+
with:
39+
name: ${{ steps.get-release-name.outputs.name }}
40+
path: release/${{ steps.get-release-name.outputs.name }}
41+
42+
- name: Create Release
43+
id: create-release
44+
uses: actions/create-release@v1
45+
with:
46+
tag_name: v2.1.0
47+
release_name: Release v2.1.0
48+
draft: true
49+
- name: Upload release
50+
id: upload-release-asset
51+
uses: actions/upload-release-asset@v1
52+
with:
53+
upload_url: ${{ steps.create-release.outputs.upload_url }}
54+
asset_name: ${{ steps.get-release-name.outputs.name }}
55+
asset_path: release/${{ steps.get-release-name.outputs.name }}
56+
asset_content_type: application/gzip
57+
58+
- name: Copy release into release image build context
59+
uses: ./ci/image
60+
with:
61+
args: cp release/${{ steps.get-release-name.outputs.name }} ci/release-image
62+
- name: Publish codercom/code-server docker container
63+
uses: elgohr/Publish-Docker-Github-Action@master
64+
with:
65+
name: codercom/code-server
66+
username: ${{ secrets.DOCKER_USERNAME }}
67+
password: ${{ secrets.DOCKER_PASSWORD }}
68+
context: ci/release-image
69+
tags: "anmol"
70+
71+
macos:
72+
runs-on: macos-latest
73+
steps:
74+
- uses: actions/checkout@v1
75+
76+
- name: Get yarn cache directory path
77+
id: yarn-cache-dir-path
78+
run: echo "::set-output name=dir::$(yarn cache dir)"
79+
- uses: actions/cache@v1
80+
with:
81+
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
82+
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
83+
restore-keys: |
84+
${{ runner.os }}-yarn-
85+
86+
- name: Run release.sh
87+
run: yarn && yarn vscode && ./ci/release.sh
88+
env:
89+
PACKAGE: true
90+
- name: Get release name
91+
id: get-release-name
92+
run: echo "::set-output name=name::$(cd release && ls *.zip)"
93+
94+
- name: Upload release as artifact
95+
uses: actions/upload-artifact@master
96+
with:
97+
name: ${{ steps.get-release-name.outputs.name }}
98+
path: release/${{ steps.get-release-name.outputs.name }}
99+
100+
- name: Create Release
101+
id: create-release
102+
uses: actions/create-release@v1
103+
with:
104+
tag_name: v2.1.0
105+
release_name: Release v2.1.0
106+
draft: true
107+
- name: Upload release
108+
uses: actions/upload-release-asset@v1
109+
with:
110+
upload_url: ${{ steps.create-release.outputs.upload_url }}
111+
asset_name: ${{ steps.get-release-name.outputs.name }}
112+
asset_path: release/${{ steps.get-release-name.outputs.name }}
113+
asset_content_type: application/zip

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ dist*
55
out*
66
release
77
node_modules
8+
binaries

ci/release-image/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
code-server*.tar.gz

ci/Dockerfile renamed to ci/release-image/Dockerfile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ FROM debian:10
33
RUN apt-get update
44
RUN apt-get install -y curl
55

6-
ARG DOWNLOAD_URL=https://github.com/cdr/code-server/releases/download/2.1698/code-server2.1698-vsc1.41.1-linux-x86_64.tar.gz
7-
8-
RUN cd /tmp && curl -L "$DOWNLOAD_URL" | \
9-
tar -xz && \
6+
COPY code-server*.tar.gz /tmp
7+
RUN cd /tmp && tar -xzf code-server*.tar.gz && \
108
cp code-server*/code-server /usr/local/bin/code-server
9+
RUN rm -rf /tmp/*
1110

1211
# https://wiki.debian.org/Locale#Manually
1312
RUN apt-get install -y locales

0 commit comments

Comments
 (0)