Skip to content

Commit b88c3ee

Browse files
install stable+nightly (#554)
1 parent d68b3e8 commit b88c3ee

File tree

1 file changed

+78
-74
lines changed

1 file changed

+78
-74
lines changed

.github/workflows/devnet-release.yml

Lines changed: 78 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,84 +3,88 @@ name: "Devnet Community Release"
33
on:
44
push:
55
branches:
6-
- main
6+
- parity-ci-devnet
77

88
jobs:
99
deploy-devnet:
10-
runs-on:
11-
- ubuntu-latest
10+
runs-on: ubuntu-latest
1211
concurrency:
1312
group: deploy-devnet
1413
cancel-in-progress: false
1514
steps:
16-
- name: Clean up
17-
continue-on-error: true
18-
run: |
19-
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
20-
docker system prune --force --all --volumes
21-
22-
- uses: actions/checkout@v2
23-
24-
- uses: google-github-actions/setup-gcloud@master
25-
with:
26-
service_account_key: ${{ secrets.GCP_CREDENTIALS }}
27-
export_default_credentials: true
28-
29-
- uses: actions/setup-python@v2
30-
31-
- uses: cachix/install-nix-action@v16
32-
with:
33-
nix_path: nixpkgs=channel:nixos-unstable
34-
35-
- uses: cachix/cachix-action@v10
36-
with:
37-
name: composable-community
38-
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
39-
extraPullNames: composable-community
40-
41-
- name: Set env
42-
run: |
43-
echo "RELEASE_VERSION=$GITHUB_REF_NAME" >> $GITHUB_ENV
44-
45-
- name: Push artifact
46-
run: |
47-
/home/runner/.cargo/bin/cargo build --release
48-
tar -czvf composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz target/release/composable
49-
gsutil mv *.tar.gz gs://composable-binaries/community-releases/picasso/
50-
51-
- name: Load state
52-
run: |
53-
cd nix
54-
55-
echo $(cat devnet.json | jq --arg version "${{ env.RELEASE_VERSION }}" '.composable.version = $version' | jq --arg hash "$(nix-prefetch-url https://storage.googleapis.com/composable-binaries/community-releases/picasso/composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz)" '.composable.hash = $hash') > devnet.json
56-
57-
jq --null-input --arg client_email "$GCP_DEVNET_SERVICE_ACCOUNT" --arg project_id "$GCP_PROJECT_ID" --arg key "\"$GCP_DEVNET_SERVICE_ACCOUNT_KEY\"" '{ "project_id": $project_id, "private_key": ($key | fromjson), "client_email": $client_email }' > ops.json
58-
59-
if gsutil -q stat $NIXOPS_STATE_URL/$NIXOPS_STATE;
60-
then
61-
gsutil cp $NIXOPS_STATE_URL/$NIXOPS_STATE $NIXOPS_STATE
62-
else
63-
nix develop .#deploy --impure --command nixops create -d devnet-gce
64-
fi
65-
env:
66-
NIXOPS_STATE_URL: "gs://composable-state"
67-
NIXOPS_STATE: "deployment.nixops"
68-
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
69-
GCP_DEVNET_SERVICE_ACCOUNT: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT }}
70-
GCP_DEVNET_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT_KEY }}
71-
72-
- name: Deploy
73-
run: |
74-
cd nix
75-
nix develop .#deploy --impure --command nixops deploy --check --confirm -d devnet-gce
76-
env:
77-
NIXOPS_STATE: "deployment.nixops"
78-
79-
- name: Store state
80-
if: always()
81-
run: |
82-
cd nix
83-
gsutil cp $NIXOPS_STATE $NIXOPS_STATE_URL/
84-
env:
85-
NIXOPS_STATE: "deployment.nixops"
86-
NIXOPS_STATE_URL: "gs://composable-state"
15+
- uses: actions/checkout@v2
16+
17+
- uses: google-github-actions/setup-gcloud@master
18+
with:
19+
service_account_key: ${{ secrets.GCP_CREDENTIALS }}
20+
export_default_credentials: true
21+
22+
- uses: actions/setup-python@v2
23+
24+
- uses: cachix/install-nix-action@v16
25+
with:
26+
nix_path: nixpkgs=channel:nixos-unstable
27+
28+
- uses: cachix/cachix-action@v10
29+
with:
30+
name: composable-community
31+
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
32+
extraPullNames: composable-community
33+
34+
- name: Set env
35+
run: |
36+
echo "RELEASE_VERSION=$GITHUB_SHA" >> $GITHUB_ENV
37+
38+
- name: Install stable
39+
uses: actions-rs/toolchain@v1
40+
with:
41+
toolchain: stable
42+
43+
- name: Install latest Nightly
44+
uses: actions-rs/toolchain@v1
45+
with:
46+
toolchain: nightly
47+
target: wasm32-unknown-unknown
48+
49+
- name: Push artifact
50+
run: |
51+
cargo build --release
52+
tar -czvf composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz target/release/composable
53+
gsutil mv *.tar.gz gs://composable-binaries/community-releases/picasso/
54+
55+
- name: Load state
56+
run: |
57+
cd nix
58+
59+
echo $(cat devnet.json | jq --arg version "${{ env.RELEASE_VERSION }}" '.composable.version = $version' | jq --arg hash "$(nix-prefetch-url https://storage.googleapis.com/composable-binaries/community-releases/picasso/composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz)" '.composable.hash = $hash') > devnet.json
60+
61+
jq --null-input --arg client_email "$GCP_DEVNET_SERVICE_ACCOUNT" --arg project_id "$GCP_PROJECT_ID" --arg key "\"$GCP_DEVNET_SERVICE_ACCOUNT_KEY\"" '{ "project_id": $project_id, "private_key": ($key | fromjson), "client_email": $client_email }' > ops.json
62+
63+
if gsutil -q stat $NIXOPS_STATE_URL/$NIXOPS_STATE;
64+
then
65+
gsutil cp $NIXOPS_STATE_URL/$NIXOPS_STATE $NIXOPS_STATE
66+
else
67+
nix develop .#deploy --impure --command nixops create -d devnet-gce
68+
fi
69+
env:
70+
NIXOPS_STATE_URL: "gs://composable-state"
71+
NIXOPS_STATE: "deployment.nixops"
72+
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
73+
GCP_DEVNET_SERVICE_ACCOUNT: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT }}
74+
GCP_DEVNET_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT_KEY }}
75+
76+
- name: Deploy
77+
run: |
78+
cd nix
79+
nix develop .#deploy --impure --command nixops deploy --check --confirm -d devnet-gce
80+
env:
81+
NIXOPS_STATE: "deployment.nixops"
82+
83+
- name: Store state
84+
if: always()
85+
run: |
86+
cd nix
87+
gsutil cp $NIXOPS_STATE $NIXOPS_STATE_URL/
88+
env:
89+
NIXOPS_STATE: "deployment.nixops"
90+
NIXOPS_STATE_URL: "gs://composable-state"

0 commit comments

Comments
 (0)