|
53 | 53 |
|
54 | 54 | endtoend-tests: |
55 | 55 | name: End to end tests |
56 | | - runs-on: ubuntu-latest |
57 | | - services: |
58 | | - registry: |
59 | | - image: registry:2 |
60 | | - ports: |
61 | | - - 5000:5000 |
62 | | - strategy: |
63 | | - matrix: |
64 | | - example: |
65 | | - - Examples/HelloWorldVapor |
66 | | - - Examples/HelloWorldHummingbird |
67 | | - steps: |
68 | | - - name: Checkout repository |
69 | | - uses: actions/checkout@v4 |
70 | | - with: |
71 | | - persist-credentials: false |
72 | | - |
73 | | - - name: Mark the workspace as safe |
74 | | - # https://github.com/actions/checkout/issues/766 |
75 | | - run: git config --global --add safe.directory ${GITHUB_WORKSPACE} |
76 | | - |
77 | | - - name: Install the static SDK |
78 | | - run: | |
79 | | - swift sdk install \ |
80 | | - https://download.swift.org/swift-6.0.2-release/static-sdk/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz \ |
81 | | - --checksum aa5515476a403797223fc2aad4ca0c3bf83995d5427fb297cab1d93c68cee075 |
82 | | -
|
83 | | - - name: Build the example |
84 | | - run: | |
85 | | - sed -i'.bak' -e "/swift-container-plugin/ s@(url:.*),@(path: \"$PWD\"),@" ${{ matrix.example }}/Package.swift # Use plugin from this checkout |
86 | | - cat ${{ matrix.example }}/Package.swift |
87 | | - swift package \ |
88 | | - --package-path ${{ matrix.example }} \ |
89 | | - --swift-sdk x86_64-swift-linux-musl \ |
90 | | - --allow-network-connections all \ |
91 | | - build-container-image \ |
92 | | - --repository localhost:5000/example \ |
93 | | - --from scratch |
94 | | -
|
95 | | - - name: Run the example |
96 | | - run: | |
97 | | - docker run -d --platform linux/amd64 -p 8080:8080 localhost:5000/example |
98 | | -
|
99 | | - - name: Check that the service is running |
100 | | - run: | |
101 | | - curl -v localhost:8080 | grep "Hello World" |
| 56 | + uses: ./.github/workflows/endtoend_tests.yml |
102 | 57 |
|
103 | 58 | swift-6-language-mode: |
104 | 59 | name: Swift 6 Language Mode |
|
0 commit comments