4747)
4848
4949
50- GITHUB_BASE_URL = ' https://api.github.com'
50+ GITHUB_BASE_URL = " https://api.github.com"
5151
5252# Required GitHub Action env variables from user
53- INSTALL = os .getenv (' INPUT_INSTALL' )
54- HOMEBREW_OWNER = os .getenv (' INPUT_HOMEBREW_OWNER' )
53+ INSTALL = os .getenv (" INPUT_INSTALL" )
54+ HOMEBREW_OWNER = os .getenv (" INPUT_HOMEBREW_OWNER" )
5555
5656# Optional GitHub Action env variables from user
57- COMMIT_OWNER = os .getenv (' INPUT_COMMIT_OWNER' , ' homebrew-releaser' )
58- COMMIT_EMAIL = os .
getenv (
' INPUT_COMMIT_EMAIL' , ' [email protected] ' )
59- DEPENDS_ON = os .getenv (' INPUT_DEPENDS_ON' )
60- TEST = os .getenv (' INPUT_TEST' )
57+ COMMIT_OWNER = os .getenv (" INPUT_COMMIT_OWNER" , " homebrew-releaser" )
58+ COMMIT_EMAIL = os .
getenv (
" INPUT_COMMIT_EMAIL" , " [email protected] " )
59+ DEPENDS_ON = os .getenv (" INPUT_DEPENDS_ON" )
60+ TEST = os .getenv (" INPUT_TEST" )
6161UPDATE_README_TABLE = (
62- os .getenv (' INPUT_UPDATE_README_TABLE' , False ) if os .getenv (' INPUT_UPDATE_README_TABLE' ) != ' false' else False
62+ os .getenv (" INPUT_UPDATE_README_TABLE" , False ) if os .getenv (" INPUT_UPDATE_README_TABLE" ) != " false" else False
6363) # Must check for string `false` since GitHub Actions passes the bool as a string
6464DEBUG = (
65- os .getenv (' INPUT_DEBUG' , False ) if os .getenv (' INPUT_DEBUG' ) != ' false' else False
65+ os .getenv (" INPUT_DEBUG" , False ) if os .getenv (" INPUT_DEBUG" ) != " false" else False
6666) # Must check for string `false` since GitHub Actions passes the bool as a string
6767
6868
@@ -80,52 +80,52 @@ def run_github_action():
8080 _setup_logger ()
8181 logger = woodchips .get (LOGGER_NAME )
8282
83- logger .info (f' Starting Homebrew Releaser v{ __version__ } ...' )
83+ logger .info (f" Starting Homebrew Releaser v{ __version__ } ..." )
8484 _check_required_env_variables ()
8585
86- logger .info (' Setting up git environment...' )
86+ logger .info (" Setting up git environment..." )
8787 setup_git (COMMIT_OWNER , COMMIT_EMAIL , HOMEBREW_OWNER , HOMEBREW_TAP )
8888
89- logger .info (f' Collecting data about { GITHUB_REPO } ...' )
90- repository = make_github_get_request (url = f' { GITHUB_BASE_URL } /repos/{ GITHUB_OWNER } /{ GITHUB_REPO } ' ).json ()
89+ logger .info (f" Collecting data about { GITHUB_REPO } ..." )
90+ repository = make_github_get_request (url = f" { GITHUB_BASE_URL } /repos/{ GITHUB_OWNER } /{ GITHUB_REPO } " ).json ()
9191 latest_release = make_github_get_request (
92- url = f' https://api.github.com/repos/{ GITHUB_OWNER } /{ GITHUB_REPO } /releases/latest'
92+ url = f" https://api.github.com/repos/{ GITHUB_OWNER } /{ GITHUB_REPO } /releases/latest"
9393 ).json ()
94- assets = latest_release [' assets' ]
95- version = VERSION or latest_release [' tag_name' ]
96- version_no_v = version .lstrip ('v' )
97- logger .info (f' Latest release ({ version } ) successfully identified!' )
94+ assets = latest_release [" assets" ]
95+ version = VERSION or latest_release [" tag_name" ]
96+ version_no_v = version .lstrip ("v" )
97+ logger .info (f" Latest release ({ version } ) successfully identified!" )
9898
99- logger .info (' Generating tar archive checksum(s)...' )
99+ logger .info (" Generating tar archive checksum(s)..." )
100100 archive_urls = []
101- archive_checksum_entries = ''
101+ archive_checksum_entries = ""
102102
103103 # Auto-generated tar URL must come first for later use (order is important)
104104 if repository ["private" ]:
105- logger .debug (' Repository is private. Using auto-generated release tarball and zipball REST API endpoints.' )
106- archive_base_url = f' { GITHUB_BASE_URL } /repos/{ GITHUB_OWNER } /{ GITHUB_REPO } '
107- auto_generated_release_tar = f' { archive_base_url } /tarball/{ version } '
108- auto_generated_release_zip = f' { archive_base_url } /zipball/{ version } '
105+ logger .debug (" Repository is private. Using auto-generated release tarball and zipball REST API endpoints." )
106+ archive_base_url = f" { GITHUB_BASE_URL } /repos/{ GITHUB_OWNER } /{ GITHUB_REPO } "
107+ auto_generated_release_tar = f" { archive_base_url } /tarball/{ version } "
108+ auto_generated_release_zip = f" { archive_base_url } /zipball/{ version } "
109109 else :
110- logger .debug (' Repository is public. Using auto-generated release tarball and zipball public URLs.' )
111- archive_base_url = f' https://github.com/{ GITHUB_OWNER } /{ GITHUB_REPO } /archive/refs/tags/{ version } '
112- auto_generated_release_tar = f' { archive_base_url } .tar.gz'
113- auto_generated_release_zip = f' { archive_base_url } .zip'
110+ logger .debug (" Repository is public. Using auto-generated release tarball and zipball public URLs." )
111+ archive_base_url = f" https://github.com/{ GITHUB_OWNER } /{ GITHUB_REPO } /archive/refs/tags/{ version } "
112+ auto_generated_release_tar = f" { archive_base_url } .tar.gz"
113+ auto_generated_release_zip = f" { archive_base_url } .zip"
114114
115115 archive_urls .append (auto_generated_release_tar )
116116 archive_urls .append (auto_generated_release_zip )
117117
118118 target_browser_download_base_url = (
119- f' https://github.com/{ GITHUB_OWNER } /{ GITHUB_REPO } /releases/download/{ version } /{ GITHUB_REPO } -{ version_no_v } '
119+ f" https://github.com/{ GITHUB_OWNER } /{ GITHUB_REPO } /releases/download/{ version } /{ GITHUB_REPO } -{ version_no_v } "
120120 )
121121 if TARGET_DARWIN_AMD64 :
122- archive_urls .append (f' { target_browser_download_base_url } -darwin-amd64.tar.gz' )
122+ archive_urls .append (f" { target_browser_download_base_url } -darwin-amd64.tar.gz" )
123123 if TARGET_DARWIN_ARM64 :
124- archive_urls .append (f' { target_browser_download_base_url } -darwin-arm64.tar.gz' )
124+ archive_urls .append (f" { target_browser_download_base_url } -darwin-arm64.tar.gz" )
125125 if TARGET_LINUX_AMD64 :
126- archive_urls .append (f' { target_browser_download_base_url } -linux-amd64.tar.gz' )
126+ archive_urls .append (f" { target_browser_download_base_url } -linux-amd64.tar.gz" )
127127 if TARGET_LINUX_ARM64 :
128- archive_urls .append (f' { target_browser_download_base_url } -linux-arm64.tar.gz' )
128+ archive_urls .append (f" { target_browser_download_base_url } -linux-arm64.tar.gz" )
129129
130130 checksums = []
131131 for archive_url in archive_urls :
@@ -136,24 +136,24 @@ def run_github_action():
136136 if archive_url == auto_generated_release_tar or archive_url == auto_generated_release_zip :
137137 download_url = archive_url
138138 else :
139- download_url = asset [' url' ]
139+ download_url = asset [" url" ]
140140
141141 if (
142142 archive_url == auto_generated_release_tar
143143 or archive_url == auto_generated_release_zip
144- or archive_url == asset [' browser_download_url' ]
144+ or archive_url == asset [" browser_download_url" ]
145145 ):
146146 # For REST API requests, we should not stream archive file, but it is fine for browser URLs
147147 stream = False if archive_url .find ("api.github.com" ) != - 1 else True
148148 downloaded_filename = _download_archive (download_url , stream )
149149 checksum = calculate_checksum (downloaded_filename )
150150 archive_filename = get_filename_from_path (archive_url )
151- archive_checksum_entries += f' { checksum } { archive_filename } \n '
151+ archive_checksum_entries += f" { checksum } { archive_filename } \n "
152152 checksums .append (
153153 {
154154 archive_filename : {
155- ' checksum' : checksum ,
156- ' url' : archive_url ,
155+ " checksum" : checksum ,
156+ " url" : archive_url ,
157157 }
158158 },
159159 )
@@ -162,7 +162,7 @@ def run_github_action():
162162
163163 write_file (CHECKSUM_FILE , archive_checksum_entries )
164164
165- logger .info (f' Generating Homebrew formula for { GITHUB_REPO } ...' )
165+ logger .info (f" Generating Homebrew formula for { GITHUB_REPO } ..." )
166166 template = generate_formula_data (
167167 GITHUB_OWNER ,
168168 GITHUB_REPO ,
@@ -182,49 +182,49 @@ def run_github_action():
182182 formula_filename = f'{ repository ["name" ]} .rb'
183183 formula_dir = get_working_dir (os .path .join (HOMEBREW_TAP , FORMULA_FOLDER ))
184184 formula_filepath = os .path .join (formula_dir , formula_filename )
185- write_file (formula_filepath , template , 'w' )
185+ write_file (formula_filepath , template , "w" )
186186
187187 if UPDATE_PYTHON_RESOURCES :
188- logger .info (' Attempting to update Python resources in the formula...' )
188+ logger .info (" Attempting to update Python resources in the formula..." )
189189 setup_homebrew_tap (HOMEBREW_OWNER , HOMEBREW_TAP , formula_dir )
190190 update_python_resources (formula_dir , formula_filename )
191191 if DEBUG :
192- with open (formula_filepath , 'r' ) as formula_file :
192+ with open (formula_filepath , "r" ) as formula_file :
193193 formula_content = formula_file .read ()
194194 logger .debug (formula_content )
195195 else :
196- logger .debug (' Skipping update to Python resources.' )
196+ logger .debug (" Skipping update to Python resources." )
197197
198198 if UPDATE_README_TABLE :
199- logger .info (' Attempting to update the README\ ' s project table...' )
199+ logger .info (" Attempting to update the README's project table..." )
200200 update_readme (HOMEBREW_TAP )
201201 else :
202- logger .debug (' Skipping update to project README.' )
202+ logger .debug (" Skipping update to project README." )
203203
204204 # Although users can skip a commit, still commit (but don't push) to dry-run the commit for debugging purposes
205205 add_git (HOMEBREW_TAP )
206206 commit_git (HOMEBREW_TAP , GITHUB_REPO , version )
207207
208208 if SKIP_COMMIT :
209- logger .info (f' Skipping upload of checksum.txt to { HOMEBREW_TAP } .' )
210- logger .info (f' Skipping push to { HOMEBREW_TAP } .' )
209+ logger .info (f" Skipping upload of checksum.txt to { HOMEBREW_TAP } ." )
210+ logger .info (f" Skipping push to { HOMEBREW_TAP } ." )
211211 else :
212- logger .info (f' Attempting to upload checksum.txt to the latest release of { GITHUB_REPO } ...' )
212+ logger .info (f" Attempting to upload checksum.txt to the latest release of { GITHUB_REPO } ..." )
213213 upload_checksum_file (latest_release )
214- logger .info (f' Attempting to release { version } of { GITHUB_REPO } to { HOMEBREW_TAP } ...' )
214+ logger .info (f" Attempting to release { version } of { GITHUB_REPO } to { HOMEBREW_TAP } ..." )
215215 push_git (HOMEBREW_TAP , HOMEBREW_OWNER )
216- logger .info (f' Successfully released { version } of { GITHUB_REPO } to { HOMEBREW_TAP } !' )
216+ logger .info (f" Successfully released { version } of { GITHUB_REPO } to { HOMEBREW_TAP } !" )
217217
218218
219219def _setup_logger ():
220220 """Setup a `woodchips` logger instance."""
221- logging_level = ' DEBUG' if DEBUG else ' INFO'
221+ logging_level = " DEBUG" if DEBUG else " INFO"
222222
223223 logger = woodchips .Logger (
224224 name = LOGGER_NAME ,
225225 level = logging_level ,
226226 )
227- logger .log_to_console (formatter = ' %(asctime)s - %(levelname)s - %(message)s' )
227+ logger .log_to_console (formatter = " %(asctime)s - %(levelname)s - %(message)s" )
228228
229229
230230def _check_required_env_variables ():
@@ -241,9 +241,9 @@ def _check_required_env_variables():
241241 for env_variable in required_env_variables :
242242 if not env_variable :
243243 raise SystemExit (
244- ' You must provide all necessary environment variables. Please reference the Homebrew Releaser documentation.' # noqa
244+ " You must provide all necessary environment variables. Please reference the Homebrew Releaser documentation." # noqa
245245 )
246- logger .debug (' All required environment variables are present.' )
246+ logger .debug (" All required environment variables are present." )
247247
248248
249249def _download_archive (url : str , stream : Optional [bool ] = False ) -> str :
@@ -253,7 +253,7 @@ def _download_archive(url: str, stream: Optional[bool] = False) -> str:
253253 stream = stream ,
254254 )
255255 filename = get_filename_from_path (url )
256- write_file (filename , response .content , 'wb' )
256+ write_file (filename , response .content , "wb" )
257257
258258 return filename
259259
@@ -262,5 +262,5 @@ def main():
262262 run_github_action ()
263263
264264
265- if __name__ == ' __main__' :
265+ if __name__ == " __main__" :
266266 main ()
0 commit comments