According to justsecurity.org which provides a timeline which starts with:
September 28, 2018 – Congress enacts a Department of Defense spending bill that includes $250 million in Ukrainian military assistance funding. Later appropriations bills provided additional funding for Ukraine.
That date links to H.R.6157 - Department of Defense and Labor, Health and Human Services, and Education Appropriations Act, 2019 and Continuing Appropriations Act, 2019.
The linked summary includes the following on Ukraine:
(Sec. 9013) Provides additional funding for the Ukraine Security Assistance Initiative for: (1) assistance, including training; equipment; lethal assistance; logistics support, supplies and services; sustainment; and intelligence support to the military and national security forces of Ukraine, and (2) replacement of any weapons or articles provided to Ukraine from the U.S. inventory.
Permits DOD to accept equipment procured using funds provided under this section or prior Acts that was transferred to the security forces of Ukraine and returned to the United States.
(Sec. 9014) Permits funds provided by this title to be used for the replacement of funds for items provided to the government of Ukraine from the U.S. inventory, to the extent that it is permitted by section 9013 of the division.
(Sec. 9015) Prohibits funds provided by this division under section 9013 for Assistance and Sustainment to the Military and National Security Forces of Ukraine from being used to procure or transfer man-portable air defense systems.