44 DEBUG : napi:*
55 APP_NAME : python-node
66 MACOSX_DEPLOYMENT_TARGET : ' 10.13'
7+ CARGO_NET_GIT_FETCH_WITH_CLI : ' true'
78
89permissions :
910 contents : write
2324 - docs/**
2425 pull_request :
2526
27+ concurrency :
28+ group : ${{ github.workflow }}-${{ github.ref }}-ci
29+ cancel-in-progress : true
30+
2631jobs :
2732 build :
2833 strategy :
9095 run : |
9196 set -x
9297
98+ export CARGO_NET_GIT_FETCH_WITH_CLI=true
99+
93100 # Install apt dependencies
94101 apt-get update -y
95102 apt-get install -y openssh-client
@@ -98,15 +105,42 @@ jobs:
98105 corepack disable
99106 npm i -gf pnpm
100107
101- # Set up SSH key (to checkout private repos with cargo)
108+ # Set up SSH keys (to checkout private repos with cargo)
102109 mkdir -p ~/.ssh
103- chmod -R 400 ~/.ssh
104- touch ~/.ssh/config ~/.ssh/known_hosts
105- eval `ssh-agent -s`
106- echo "${{ secrets.HTTP_HANDLER_ACCESS_TOKEN }}" | tr -d '\r' | ssh-add -
107- echo "${{ secrets.HTTP_REWRITER_ACCESS_TOKEN }}" | tr -d '\r' | ssh-add -
108- ssh-add -l
109- ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
110+ chmod 700 ~/.ssh
111+
112+ # Save SSH keys to files
113+ echo "${{ secrets.HTTP_HANDLER_ACCESS_TOKEN }}" | tr -d '\r' > ~/.ssh/http_handler_key
114+ echo "${{ secrets.HTTP_REWRITER_ACCESS_TOKEN }}" | tr -d '\r' > ~/.ssh/http_rewriter_key
115+ chmod 600 ~/.ssh/http_handler_key
116+ chmod 600 ~/.ssh/http_rewriter_key
117+
118+ # Add GitHub to known hosts (for all aliases)
119+ ssh-keyscan -H github.com >> ~/.ssh/known_hosts
120+
121+ # Create SSH config with host aliases
122+ cat > ~/.ssh/config <<'EOF'
123+ Host github.com-http-handler
124+ HostName github.com
125+ User git
126+ IdentityFile ~/.ssh/http_handler_key
127+ IdentitiesOnly yes
128+
129+ Host github.com-http-rewriter
130+ HostName github.com
131+ User git
132+ IdentityFile ~/.ssh/http_rewriter_key
133+ IdentitiesOnly yes
134+ EOF
135+ chmod 600 ~/.ssh/config
136+
137+ # Configure git to rewrite URLs to use the correct host alias
138+ git config --global url."ssh://git@github.com-http-handler/platformatic/http-handler".insteadOf "ssh://git@github.com/platformatic/http-handler"
139+ git config --global url."ssh://git@github.com-http-rewriter/platformatic/http-rewriter".insteadOf "ssh://git@github.com/platformatic/http-rewriter"
140+
141+ # Also handle variations without .git suffix
142+ git config --global url."ssh://git@github.com-http-handler/platformatic/http-handler.git".insteadOf "ssh://git@github.com/platformatic/http-handler.git"
143+ git config --global url."ssh://git@github.com-http-rewriter/platformatic/http-rewriter.git".insteadOf "ssh://git@github.com/platformatic/http-rewriter.git"
110144
111145 ${{ matrix.settings.build }}
112146 - name : Build
@@ -232,23 +266,52 @@ jobs:
232266 run : |
233267 set -x
234268
269+ export CARGO_NET_GIT_FETCH_WITH_CLI=true
270+
235271 # Install apt dependencies
236272 apt-get update -y
237- apt-get install -y openssh-client curl
273+ apt-get install -y openssh-client curl git
238274
239275 # Install rust toolchain
240276 curl https://sh.rustup.rs -sSf | bash -s -- -y -t ${{ matrix.settings.target }}
241- source "$HOME/.cargo/env"
277+ . "$HOME/.cargo/env"
242278
243- # Set up SSH key (to checkout private repos with cargo)
279+ # Set up SSH keys (to checkout private repos with cargo)
244280 mkdir -p ~/.ssh
245- chmod -R 400 ~/.ssh
246- touch ~/.ssh/config ~/.ssh/known_hosts
247- eval `ssh-agent -s`
248- echo "${{ secrets.HTTP_HANDLER_ACCESS_TOKEN }}" | tr -d '\r' | ssh-add -
249- echo "${{ secrets.HTTP_REWRITER_ACCESS_TOKEN }}" | tr -d '\r' | ssh-add -
250- ssh-add -l
251- ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
281+ chmod 700 ~/.ssh
282+
283+ # Save SSH keys to files
284+ echo "${{ secrets.HTTP_HANDLER_ACCESS_TOKEN }}" | tr -d '\r' > ~/.ssh/http_handler_key
285+ echo "${{ secrets.HTTP_REWRITER_ACCESS_TOKEN }}" | tr -d '\r' > ~/.ssh/http_rewriter_key
286+ chmod 600 ~/.ssh/http_handler_key
287+ chmod 600 ~/.ssh/http_rewriter_key
288+
289+ # Add GitHub to known hosts (for all aliases)
290+ ssh-keyscan -H github.com >> ~/.ssh/known_hosts
291+
292+ # Create SSH config with host aliases
293+ cat > ~/.ssh/config <<'EOF'
294+ Host github.com-http-handler
295+ HostName github.com
296+ User git
297+ IdentityFile ~/.ssh/http_handler_key
298+ IdentitiesOnly yes
299+
300+ Host github.com-http-rewriter
301+ HostName github.com
302+ User git
303+ IdentityFile ~/.ssh/http_rewriter_key
304+ IdentitiesOnly yes
305+ EOF
306+ chmod 600 ~/.ssh/config
307+
308+ # Configure git to rewrite URLs to use the correct host alias
309+ git config --global url."ssh://git@github.com-http-handler/platformatic/http-handler".insteadOf "ssh://git@github.com/platformatic/http-handler"
310+ git config --global url."ssh://git@github.com-http-rewriter/platformatic/http-rewriter".insteadOf "ssh://git@github.com/platformatic/http-rewriter"
311+
312+ # Also handle variations without .git suffix
313+ git config --global url."ssh://git@github.com-http-handler/platformatic/http-handler.git".insteadOf "ssh://git@github.com/platformatic/http-handler.git"
314+ git config --global url."ssh://git@github.com-http-rewriter/platformatic/http-rewriter.git".insteadOf "ssh://git@github.com/platformatic/http-rewriter.git"
252315
253316 cargo test --target ${{ matrix.settings.target }}
254317 - name : Test bindings
0 commit comments