We use GitHub Actions to deploy the server app to AWS Beanstalk instance. Everything worked just fine couple of weeks ago but when I returned from my break this week I discovered we can't deploy anymore. The thing is, nobody changed anything so I assume something has changed/was updated either on GH or AWS end but I can't find any related info. Here's the GH workflow log:
Build container for action use: '/home/runner/work/_actions/hmanzur/actions-aws-eb/v1.0.0/Dockerfile'.
/usr/bin/docker build -t c9a4a5:52e43b697a534189bf3fc89189a65d8a -f "/home/runner/work/_actions/hmanzur/actions-aws-eb/v1.0.0/Dockerfile" "/home/runner/work/_actions/hmanzur/actions-aws-eb/v1.0.0"
Sending build context to Docker daemon 12.8kB
Step 1/7 : FROM python:3
3: Pulling from library/python
d52e4f012db1: Already exists
7dd206bea61f: Already exists
2320f9be4a9c: Already exists
6e5565e0ba8d: Already exists
d3797e13cc41: Pulling fs layer
70f90dfe001b: Pulling fs layer
bd75605de417: Pulling fs layer
3d0e1a4b14bc: Pulling fs layer
3d0e1a4b14bc: Waiting
bd75605de417: Download complete
d3797e13cc41: Verifying Checksum
d3797e13cc41: Download complete
3d0e1a4b14bc: Verifying Checksum
3d0e1a4b14bc: Download complete
70f90dfe001b: Verifying Checksum
70f90dfe001b: Download complete
d3797e13cc41: Pull complete
70f90dfe001b: Pull complete
bd75605de417: Pull complete
3d0e1a4b14bc: Pull complete
Digest: sha256:d73088ce13d5a1eec1dd05b47736041ae6921d08d2f240035d99642db98bc8d4
Status: Downloaded newer image for python:3
---> c0e63845ae98
Step 2/7 : ARG command="--version"
---> Running in da15ecbbb38c
Removing intermediate container da15ecbbb38c
---> c5f5eb9914a2
Step 3/7 : COPY entrypoint.sh /entrypoint.sh
---> 47cf7730bc4e
Step 4/7 : RUN apt-get update -y
---> Running in d2e7c8930e5f
Get:1 http://deb.debian.org/debian bookworm InRelease [147 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8904 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [4732 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [48.0 kB]
Fetched 9204 kB in 1s (6272 kB/s)
Reading package lists...
Removing intermediate container d2e7c8930e5f
---> 20e379c550f9
Step 5/7 : RUN pip install --upgrade pip awsebcli
---> Running in 2767b024d90a
Requirement already satisfied: pip in /usr/local/lib/python3.11/site-packages (23.1.2)
Collecting pip
Downloading pip-23.2-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 35.0 MB/s eta 0:00:00
Collecting awsebcli
Downloading awsebcli-3.20.7.tar.gz (267 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 267.7/267.7 kB 47.2 MB/s eta 0:00:00
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting botocore<1.29.159,>1.23.41 (from awsebcli)
Downloading botocore-1.29.158-py3-none-any.whl (10.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.9/10.9 MB 81.8 MB/s eta 0:00:00
Collecting cement==2.8.2 (from awsebcli)
Downloading cement-2.8.2.tar.gz (165 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 165.8/165.8 kB 33.0 MB/s eta 0:00:00
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting colorama<0.4.4,>=0.2.5 (from awsebcli)
Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)
Collecting pathspec==0.10.1 (from awsebcli)
Downloading pathspec-0.10.1-py3-none-any.whl (27 kB)
Collecting python-dateutil<3.0.0,>=2.1 (from awsebcli)
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 48.5 MB/s eta 0:00:00
Collecting requests>=2.31 (from awsebcli)
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 14.1 MB/s eta 0:00:00
Requirement already satisfied: setuptools>=20.0 in /usr/local/lib/python3.11/site-packages (from awsebcli) (65.5.1)
Collecting semantic_version==2.8.5 (from awsebcli)
Downloading semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
Collecting six<1.15.0,>=1.11.0 (from awsebcli)
Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)
Collecting termcolor==1.1.0 (from awsebcli)
Downloading termcolor-1.1.0.tar.gz (3.9 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting wcwidth<0.2.0,>=0.1.7 (from awsebcli)
Downloading wcwidth-0.1.9-py2.py3-none-any.whl (19 kB)
Collecting PyYAML<5.5,>=5.3.1 (from awsebcli)
Downloading PyYAML-5.4.1.tar.gz (175 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 39.6 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [68 lines of output]
/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
!!
********************************************************************************
The license_file parameter is deprecated, use license_files instead.
By 2023-Oct-30, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
********************************************************************************
!!
parsed = self.parsers.get(option_name, lambda x: x)(value)
running egg_info
writing lib3/PyYAML.egg-info/PKG-INFO
writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
writing top-level names to lib3/PyYAML.egg-info/top_level.txt
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
exec(code, locals())
File "<string>", line 271, in <module>
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 314, in run
self.find_sources()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
mm.run()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 551, in run
self.add_defaults()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
sdist.add_defaults(self)
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
super().add_defaults()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
self._add_defaults_ext()
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 201, in get_source_files
File "/tmp/pip-build-env-mrm5my2c/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
raise AttributeError(attr)
AttributeError: cython_sources
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Notice: A new release of pip is available: 23.1.2 -> 23.2
Notice: To update, run: pip install --upgrade pip
The command '/bin/sh -c pip install --upgrade pip awsebcli' returned a non-zero code: 1
ANd here's one of the workflow YAMLs (the prod one is pretty much the same):
name: Build and deploy Staging
on:
push:
branches: [ dev ]
# pull_request:
# branches: [ dev ]
jobs:
build:
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "eu-west-1"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
- name: Install dependencies
run: dotnet restore
- name: Build projects
run: dotnet build --configuration Release --no-restore
- name: Run tests
run: dotnet test --no-restore
#- name: Precompute refine set and pair scores
# run: mkdir -p cache && cd RefinePrecompute && dotnet run --project . -c Release
- name: Publish assembly
# Need to do this so '../content' is still the correct path
run: dotnet publish ./OurApp -c Release -o out/package
- name: Add other required files
# run: cp -avr {Procfile,content,cache,.elasticbeanstalk,.ebextensions,.platform} out
run: cp -avr {Procfile,.elasticbeanstalk,.ebextensions,.platform} out
- name: Zip everything up
run: (cd out && zip -r ../out.zip .)
- name: Deploy to Elastic Beanstalk – dev
if: github.event_name == 'push' # only for dev branch
uses: hmanzur/actions-aws-eb@v1.0.0
with:
command: deploy --verbose --process --region eu-west-1 -l ${{ github.sha }} --timeout 20 our-app-env -m "${{ github.sha }}"
Could you please help me solving that or point me to the direction of the solution. I'm not sure where to start to be honest.