@@ -3,84 +3,88 @@ name: "Devnet Community Release"
33on :
44 push :
55 branches :
6- - main
6+ - parity-ci-devnet
77
88jobs :
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